Elasticsearch 使用中文分詞

2021-08-13 18:11:15 字數 1535 閱讀 5841

本文演示了如何使用ik analysis 外掛程式來實現在 elasticsearch 中的中文分詞功能。

在「spring boot應用企業級部落格系統」課程中(所有的部落格功能都已經完成了。讀者朋友們開始愉快地使用部落格來發表部落格了。但如果朋友們足夠細心的話,發現在輸入中文的標籤的時候,存在一定的問題。

比如,當我們想將某個部落格標記為「大神」時,部落格系統卻將這個單詞粗暴的分成了如圖21-2所示的兩個詞「大」和「神」。顯然,這並不符合使用者的使用習慣。

這是 elasticsearch 語言分析器上的限制,它並不能友好的處理所有語言,特別是中文。這種情況下,我們就需要額外的中文分詞器來協助我們了。

本章節,我們將演示使用 ik analysis 外掛程式來幫助我們實現中文分詞。

ik analysis 外掛程式(就是一款專門用於 elasticsearch 的分詞器,可以友好的處理中文。

ik analysis 外掛程式將 lucene ik 分析儀(整合到了 elasticsearch 中,從而支援自定義分詞。

安裝 ik analysis 非常簡單。主要有兩種方式。

如果 elasticsearch 是 5.5.1 以後的版本,可以使用 elasticsearch-plugin 來安裝,安裝方式如下:

下圖展示了 ik 的安裝目錄。

要使用 ik analysis,需要在文件類裡面,指定相應的分詞器。我們在 esblog 的 tags 屬性上,新增了searchanalyzer = 「ik_smart」, analyzer = 「ik_smart」的註解內容就可以了。

1

2

3

4

5

6

publicclassesblogimplementsserializable {

...

@field(type = fieldtype.text,fielddata =true, searchanalyzer ="ik_smart", analyzer ="ik_smart")

privatestring tags;// 標籤

下圖展示了使用了ik分詞的標籤效果

ik_smart 是 ik analysis 其中一種分詞形式。ik analysis主要有兩種型別的分詞形式,分別是 ik_max_word 和 ik_smart。

誰在使用Elasticsearch

github github使用elasticsearch搜尋20tb的資料,包括13億的檔案和1300億行的 這個不用介紹了吧,碼農們都懂的,github在2013年1月公升級了他們的 搜尋,由solr轉為elasticsearch,目前集群規模為26個索引儲存節點和8個客戶端節點 負責處理搜尋請求...

ElasticSearch使用入門

es的安裝 啟動 cd.elasticsearch 2 4 3 bin elasticsearch bin elasticsearch d 後台執行 es安裝驗證 注意 預設啟動的時候es繫結的網路ip是本機127.0.0.1,只能通過這個ip訪問 兩種修改方式 1 修改config elastic...

ElasticSearch使用學習

elasticsearch是乙個基於lucene的搜尋服務,它通過倒排索引的方法提供了全文搜尋的能力。1 插入資料 elasticsearch中存放資料的為文件,有索引及型別名,如下插入兩文件 2 檢索文件 1 檢索id為1的文件 curl x get elasticsearch.in.netwa....