前言碎語
Solr是一個高性能,基於Lucene的全文搜索服務器。同時對其進行了擴展,提供了比Lucene更為豐富的查詢語言,同時實現了可配置、可擴展並對查詢性能進行了優化,並且提供了一個完善的功能管理界面,和Elasticseach一樣是一款非常優秀的全文搜索引擎
寫此文的目的也是看網上諸多的安裝使用教程都比較老了,步驟也比較繁瑣,下面介紹的方法簡單高效,適合新手摸索入門
solr安裝
前提是已經有了java開發環境了,也就是安裝jdk了
最新版下載地址:http://apache.fayea.com/lucene/solr/6.4.1/
如上圖有兩種方式可供選擇:
1.下載src的源文件,solr是使用ant構建的,所以需要安裝ant,自己構建,使用ant server啟動項目
2.下載打包好的,文件比較大,解壓縮好後,進入bin目錄,使用./solr start啟動項目,solr restart -p xxx重啟,其他的自己solr -help查看
solr默認的配置在server\solr\下,默認端口8983,故而訪問地址為:http://localhost:8983/solr/,如看到如下界面,恭喜你安裝成功了
solr的基礎使用-導入mysql數據測試
1.新增Core
solr的管理已Core為單元,配置文件以及索引文件都存放在Core裡面,如下圖,創建test的Core
注意的點:
如圖箭頭所指的目錄需要自己在solr-6.4.1\server\solr目錄下創建,如solr-6.4.1\server\solr\new_coro
拷貝solr-6.4.1\server\solr\configsets\basic_configs\conf目錄下的配置文件到自己的Core目錄,也就是新建的new_core
在new_core目錄新增一個文件夾conf,拷貝\solr-6.4.1\server\solr\configsets\basic_configs\conf\elevate.xml這個文件到此目錄
修改solrconfig.xml的${solr.data.dir:./kldata},為自己新建的索引目錄
2.導入mysql的數據
(1)在solrconfig.xml文件中新增如下請求節點。
(2).在solrconfig.xml同層目錄新增如上箭頭所指文件,然後配置數據庫鏈接相關,如下
箭頭所指為你要同步過來的查詢結果
更加詳細的配置可參考如下地址:
官方wiki:https://cwiki.apache.org/confluence/display/solr/
csdn博客:http://blog.csdn.net/boolbo/article/details/50352331
注意的點:
如果配置更新了,可以使用接口/command=reload-config來重新加載配置文件,如http://localhost:8983/solr/#/new_core/dataimport/command=reload-config
(3).配置 schema
數據庫的列對應索引裡的文檔域field,所以要把你想同步的數據列結果的文檔域創建好,以及文檔域對應的類型fieldType
在第二步的第二點拷貝的配置文件中,找到managed-schema,這個文件沒有後綴名,但是是文本文件,使用文本編輯器打開它,
清除裡面的配置,配置自己的field,如下圖
需要注意的點:
需要分詞的字段需要使用solr.TextField類型,並指明你的建立索引和查詢時的分詞器,如上定義的text_cn便使用了林良益大神的ik分詞
ik的solr分詞器項目地址:https://github.com/EugenePig/ik-analyzer-solr5
(4)移動需要的jar
數據庫驅動,已mysql為例,需要將mysql-connector-java-xxx.jar移動到\solr-6.4.1\server\solr-webapp\webapp\WEB-INF\lib目錄
數據處理的j,將solr-6.4.1\dist下的solr-dataimporthandler-6.4.1.jar和solr-dataimporthandler-extras-6.4.1.jar移動到同上移動目錄
分詞器 ,將你使用的中文分詞器的jar拷貝到如上移動目錄
(5)導入數據測試
箭頭一:選中你的test的Core
箭頭二:數據導入的菜單
箭頭四:數據導入的結果
箭頭五:數據查詢測試菜單
我的測試結果
ps:最後,如果你想測試你的分詞器的分詞效果,可參考如下
閱讀更多 小陳博主 的文章