最新版本的會比較好一點,例子也比較清晰。shell
solr-4.10.4-src.tgz solr-4.10.4tgz solr-4.10.4.zip(5.2的dataimport沒成功改用4.10.4)數據庫
咱們下載的應該是基於jetty服務器的,不須要再拷貝到tomcat上發佈了。並且在Windows或是Linux上均可以使用。apache
Start the Server 和經常使用的命令windows
windows下打開 bin 目錄 shift + 鼠標右鍵 能夠在此處打開命令窗口,執行tomcat
solr start -- 開啓服務 solr start -f --在後臺啓動 solr start -p **** --以某端口啓動 solr stop -p 8983 --中止solr必須指定端口號 solr -e teachproducts --你能夠啓動一個和例子同樣的配置的solr服務 solr create -c <name> --建立一個不是和例子同樣的配置的solr服務 solr -help --幫助菜單
solr服務開啓後你就能夠看到以下的頁面:服務器
2. 初次使用Dataimportsqlserver
當咱們建立一個solr實例後,發現Dataimport是沒法使用的。須要作以下三件事,可使Dataimport運行:url
打開solrconfig.xml,將 <dataDir>${solr.data.dir:}</dataDir> 填完整。好比個人solr實例對應的data位置爲E:\solr-5.2.0\server\solr\myt\data , <dataDir>${solr.data.dir:E:\solr-5.2.0\server\solr\myt\data}</dataDir>spa
--仿照實例 追加 dataimport 的 requestHandler <requestHandler name="/dataimport" class="solr.DataImportHandler"> <lst name="defaults"> <str name="config">solr-data-config.xml</str> </lst> </requestHandler>
添加jar包:在實例目錄下新建 lib 文件夾,把 須要的額外的jar包放進去,好比 :
solr-dataimporthandler-4.10.4 (負責創建索引的,) sqljdbc-4.0.2206.100 (鏈接數據庫用的)
solr-data-config.xml內容以下:
<dataConfig> <dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" name="jdbc/myt" password="" type="JdbcDataSource" url="jdbc:sqlserver://localhost:1433;DatabaseName=" username=""/> <document name="commodity"> <entity name="item" query="select c.barcode as id,c.sid,c.barcode,c.title,c.is_circle,c.can_buy_now,c.solr_filter_type,cat.site_type, c.price,c.rank,c.bought_count,c.view_count,c.small_pic as md5, c.timelines,c.keywords,b.sid brand_sid,b.title brand_title,b.synonyms brand_synonyms,cat.category_code,cat.name category_name, c.commodity_status,c.created_dt from iyb_commodity c left join iyb_brand b on c.brand_sid=b.sid left join iyb_category cat on cat.sid=c.category_sid where c.rank > 0" deltaImportQuery="select c.barcode as id,c.sid,c.barcode,c.title,c.is_circle,c.solr_filter_type,cat.site_type,c.price,c.can_buy_now,c.rank,c.bought_count,c.view_count,c.small_pic as md5, c.timelines,c.keywords,b.sid brand_sid,b.title brand_title,b.synonyms brand_synonyms,cat.category_code,cat.name category_name,c.commodity_status,c.created_dt from iyb_commodity c left join iyb_brand b on c.brand_sid=b.sid left join iyb_category cat on cat.sid=c.category_sid where c.rank > 0 and barcode='${dih.delta.id}'" deltaQuery="select barcode as id from iyb_commodity where rank > 0 and (updated_dt > '${dih.last_index_time}' or created_dt > '${dih.last_index_time}')" deletedPkQuery="select barcode as id from iyb_commodity where rank <= 0 and updated_dt > '${dih.last_index_time}' union all select DISTINCT '${dataimporter.request.deleteById}' as id from iyb_commodity where not EXISTS(select 1 from iyb_commodity where barcode='${dataimporter.request.deleteById}') "> </entity> </document> </dataConfig>
這以後重啓 solr 應該就能夠進入 Dataimport 頁面了。