1. 程式人生 > >Elasticsearch整合HanLP分詞器

Elasticsearch整合HanLP分詞器

 

1、通過git下載分詞器程式碼。

連線如下:https://gitee.com/hualongdata/hanlp-ext

hanlp官網如下:http://hanlp.linrunsoft.com/

2、下載gradle,如果本機有,就可以略過此步驟。通過gradle官方網站下載,解壓,配置環境即可。

官方安裝配置說明:https://gradle.org/install/

3、按本地elasticsearch進行打包。

注意:通過git下載的原始碼,除非與git配置的版本相同,否則可能會導致你elasticearch無法載入分詞器。

修改git下載的原始碼包中的elasticsearch版本。並通過gradle進行打包。會自動下載同步elasticsearch對應版本的jar包。

 

4、按本地環境配置詞類位置

 

5、配置打包的外掛所對應支援的elasticesarch的版本。(修改為:5.6.5,es安裝的學習環境為5.6.5)

6、完成上述配置把。gradle自動下載對應版本的包。可以通過如下方式進行版本檢視。

7、確認對應版本的包存在後,在工程所在目錄下執行如下命令進行打包:

gradle -p es-plugin jar buildPluginZip

如下操作:在專案工程目錄下,執行命令。

8、打包完成後,會出現對應的安裝包。

 

9、在elasticsearch安裝目錄下執行外掛安裝命令。

./bin/elasticsearch-plugininstallfile:///Users/jiangyu/code/git/hanlp-ext/es-plugin/build/distributions/elasticsearch-hanlp-5.6.5.zip

 

可以看到上面安裝完成的提示。有個過程要選擇y。

注:如果上向的命令出現如下報錯。錯誤提示如下:

上述錯誤提示,說明有兩個相同的jar包存在。所以有提示,可以先在build.gradle配置中,找到打包的過程,增加一條path.contains("org.apache.logging.log4j")配置,這樣打包時,這個jar包不會在被找到外掛中。配置修改完成後。從新執行第7步『gradle -p es-plugin jar buildPluginZip』,進重新打包。再重新安裝外掛即可。

(注:測試時,這個包不能去掉。會導致測試外掛時,缺少log4j包)

10、給外掛增加訪問許可權

在系統的elasticsearch的安裝目錄下,找到config目錄,通過vi jvm.options開啟檔案進行編輯。增加如下內容:用來指定安全配置檔案。

11、修改elasticsearch配置,在系統的elasticsearch的安裝目錄下,找到bin目錄,通過vi elasticearch.in.sh開啟檔案進行編輯。增加如下內容:用來指定安全配置檔案。

12、在檔案中增加指定的lib包。我們將外掛要用到的Lib包路徑引入到系統環境變數中。

13、安裝完成後可以使用如下命令進行驗證。 analyzer,指定分詞器為:"hanlp"

GET /_analyze

{

"analyzer" : "hanlp",

"text": ["記錄就是用來打破的。你準備好向新的記錄發起衝擊了嗎?"]

}

 

 

如果不指定分詞器的話。所以返回結果,type沒有說明詞性,都是按單字返回結果。

GET /_analyze

{

"text": ["記錄就是用來打破的。你準備好向新的記錄發起衝擊了嗎?"]

}

 

參考連線如下:

https://gitee.com/hualongdata/hanlp-ext/tree/master/es-plugin

其它操作:

如果想移除或刪除外掛,可以執行如下命令

轉載自romil 的部落格