Elasticsearch整合HanLP分詞器

adnb34g發表於2018-10-08


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 包。

 

1

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

 

2

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

 

3

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

 

4

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

gradle -p es-plugin jar buildPluginZip

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

 

5

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

 

6

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

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

 

7

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

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

 

8

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

 

9

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

10 給外掛增加訪問許可權

 

10

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

 

11

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

 

12

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

 

13

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

GET /_analyze

{

"analyzer" : "hanlp",

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

}

 

14

 

15

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

GET /_analyze

{

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

}

 

16

參考連線如下:

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

其它操作:

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

 

17

轉載自 romil   的部落格


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2215564/,如需轉載,請註明出處,否則將追究法律責任。

相關文章