久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

elasticsearch中文分詞集成怎么實現

201次閱讀
沒有評論

共計 1864 個字符,預計需要花費 5 分鐘才能閱讀完成。

本篇內容介紹了“elasticsearch 中文分詞集成怎么實現”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

對于索引可能最關系的就是分詞了 一般對于 es 來說默認的 smartcn   但效果不是很好  

一個是 ik 的,一個是 mmseg 的,下面分別介紹下兩者的用法,其實都差不多的,先安裝插件,命令行:

安裝 ik 插件

plugin -install medcl/elasticsearch-analysis-ik/1.1.0

下載 ik 相關配置詞典文件到 config 目錄

unzip ik.zip

rm ik.zip

分詞配置

ik 分詞配置,在 elasticsearch.yml 文件中加上

index:
 analysis: 
 analyzer: 
 ik:
 alias: [ik_analyzer]
 type: org.elasticsearch.index.analysis.IkAnalyzerProvider

index.analysis.analyzer.ik.type : “ik”

安裝 mmseg 插件:

bin/plugin -install medcl/elasticsearch-analysis-mmseg/1.1.0

下載相關配置詞典文件到 config 目錄

cd config

wget http://github.com/downloads/medcl/elasticsearch-analysis-mmseg/mmseg.zip –no-check-certificate

unzip mmseg.zip

rm mmseg.zip

mmseg 分詞配置,也是在在 elasticsearch.yml 文件中

index:
 analysis:
 analyzer:
 mmseg:
 alias: [news_analyzer, mmseg_analyzer]
 type: org.elasticsearch.index.analysis.MMsegAnalyzerProvider

index.analysis.analyzer.default.type :  mmseg

mmseg 分詞還有些更加個性化的參數設置如下

index:
 analysis:
 tokenizer:
 mmseg_maxword:
 type: mmseg
 seg_type:  max_word 
 mmseg_complex:
 type: mmseg
 seg_type:  complex 
 mmseg_simple:
 type: mmseg
 seg_type:  simple

這樣配置完后插件安裝完成,啟動 es 就會加載插件。

定義 mapping

在添加索引的 mapping 時就可以這樣定義分詞器

{
  page :{
  properties :{
  title :{
  type : string ,
  indexAnalyzer : ik ,
  searchAnalyzer : ik 
 },
  content :{
  type : string ,
  indexAnalyzer : ik ,
  searchAnalyzer : ik 
 }
 }
 }
}

indexAnalyzer 為索引時使用的分詞器,searchAnalyzer 為搜索時使用的分詞器。

java mapping 代碼如下:

XContentBuilder content = XContentFactory.jsonBuilder().startObject()
 .startObject(page)
 .startObject(properties) 
 .startObject(title)
 .field(type ,  string) 
 .field(indexAnalyzer ,  ik)
 .field(searchAnalyzer ,  ik)
 .endObject() 
 .startObject(code)
 .field(type ,  string) 
 .field(indexAnalyzer ,  ik)
 .field(searchAnalyzer ,  ik)
 .endObject() 
 .endObject()
 .endObject()
 .endObject()

測試分詞可用調用下面 api,注意 indexname 為索引名,隨便指定一個索引就行了

“elasticsearch 中文分詞集成怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計1864字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 嘉定区| 松潘县| 宝坻区| 江北区| 祁东县| 尉犁县| 文安县| 若羌县| 泉州市| 商水县| 商南县| 岳阳县| 潜江市| 上思县| 巴彦淖尔市| 介休市| 蓝田县| 井冈山市| 铜陵市| 黔江区| 永德县| 蒙自县| 紫阳县| 东丰县| 获嘉县| 宁阳县| 墨脱县| 泉州市| 马山县| 中超| 华池县| 阿拉善左旗| 高台县| 江孜县| 东源县| 黑山县| 张家川| 红安县| 介休市| 杭州市| 三都|