當前位置:成語大全網 - 書法字典 - 如何閱讀elasticsearch的分詞索引信息

如何閱讀elasticsearch的分詞索引信息

首先,插件準備

網上有介紹說可以直接使用plugin-installmedcl/elasticsearch-analysis-ik的方法,但是我實現的效果只是下載了插件的源代碼,elastic search只把它當作_site插件。

所以我們必須執行maven,將打包的jar文件復制到上級目錄。(否則,在定義映射的分析器時,會提示找不到該類。).

因為IK是基於詞典的分詞,所以需要下載IK的詞典文件,在medcl的elasticsearch-RTF中有,可以在這個地址下載:

/downloads/med cl/elastic search-analysis-ik/ik . zip

下載後,將其解壓縮到config目錄。此時,您可能需要重新啟動elasticsearch,以便下壹個定義的斷詞器可以立即生效。

二、分詞的定義

分詞插件準備好之後,就可以在elasticsearch中定義(聲明)這個分詞類型了(自帶的類型,比如standred,不需要專門定義)。和其他設置壹樣,分詞的定義也可以是系統級的(elasticsearch全局範圍),也可以是索引級的(只在當前索引內可見)。當然,系統級的定義是指conf下的目錄。

在elasticsearch.yml文件中定義,內容大致如下:

索引:

分析:

分析器:

ikAnalyzer:

別名:[ik]

類型:org . elastic search . index . analysis . ikanalyzerprovider

或index . analysis . analyzer . ik . type:" ik "

因為個人喜好,我沒有這麽做,而是在需要中文分詞的索引中定義,這樣更靈活,不會影響其他索引。

定義分析前關閉索引。其實不需要關閉才能生效,但是為了數據的壹致性,應該先關閉。(如果是線上系統要三思)

curl-xpost/med cl/elastic search-analysis-ik,下載分詞器源代碼,然後進入下載目錄,執行命令:mvn clean package,打包生成elastic search-analysis-ik-1 . 2 . 5 . jar,將這個jar復制到ES_HOME/plugins/analysis-ik目錄下。如果沒有這樣的目錄,首先創建它。

2、ik目錄復制

將下載目錄中的ik目錄復制到ES_HOME/config目錄中。

3、分詞系統配置

打開文件es _ home/config/elastic search . yml,在文件末尾添加以下內容:

索引:

分析:

分析器:

ik:

別名:[ik_analyzer]

類型:org . elastic search . index . analysis . ikanalyzerprovider

ik_max_word:

類型:ik

use_smart: false

ik_smart:

類型:ik

use_smart: true

或者

index . analysis . analyzer . default . type:ik

好吧!插件安裝已完成,請重啟ES,然後測試ik分詞效果!

三。ik分詞測試

1.創建名為index的索引。

curl-XPUT http://localhost:9200/index

2.為索引索引創建映射。

curl-XPOST http://localhost:9200/index/full text/_ mapping-d '

{

"全文":{

" _all": {

“分析器”:“ik”

},

"屬性":{

"內容":{

"類型":"字符串",

【助推】:8.0,

" term _ vector ":" with _ positions _ offsets ",

“分析器”:“ik”,

" include_in_all ":真

}

}

}

}'

3.試驗

curl ' http://localhost:9200/index/_ analyze?分析器= ik & amppretty=true' -d '

{

《正文》:“世界那麽大”

}'

顯示結果如下:

{

"令牌":[ {

“令牌”:“文本”,

" start_offset" : 4,

" end_offset" : 8,

【類型】:“英語”,

【位置】:1

}, {

《令牌》:“天下”,

" start_offset" : 11,

" end_offset" : 13,

" type" : "CN_WORD ",

【位置】:2

}, {

“令牌”:“所以”,

" start_offset" : 13,

" end_offset" : 15,

" type" : "CN_WORD ",

【位置】:3

}, {

“令牌”:“太好了”,

" start_offset" : 15,

" end_offset" : 17,

" type" : "CN_WORD ",

【位置】:4

} ]

}