4 ElasticSearch中的分詞器

2021-10-09 14:26:33 字數 1773 閱讀 2997

1、analysis與analyzer

analysis 文字分析是把全文本轉換一系列單詞(term/token)的過程,也叫分詞。analysis是通過analyzer實現的,可使用elasticsearch內建的分詞器或按需定製分詞器。

除了在資料寫入轉換詞條時用到分詞器,匹配query語句時也需要用相同的分詞器對查詢語句進行分析。

analyzer由三部分組成:

2、elasticsearch的內建分詞器

前置:使用_analyzer 分詞api

如使用預設分詞器進行分詞

post _analyze

## 響應,,

]}

2.1、standard analyzer

預設分詞器 按詞切分 小寫處理

2.2、****** analyzer

舉例:對"i』m studying 11"分詞

post _analyze

## 響應,,

]}

2.3、stop analyzer

相比****** analyzer多了stop filter,會把the/a/is/in等修飾詞去掉

舉例:對"i』m studying in the room"進行分詞

post _analyze

## 響應,,

,]}

2.4、whitespace analyzer

按照空格切分

tokenizer:whitespace

舉例:對"i』m studying in the room"進行分詞

post _analyze

## 響應,,

,,]}

2.5、keyword analyzer

不分詞,直接將輸入當乙個詞語輸出

tokenizer:keyword

舉例:對"i』m studying in the room"進行分詞

post _analyze

##響應

]}

2.6、pattern analyzer

2.7、english analyzer

語言分詞器

舉例:對"i』m studying in the room"進行分詞

post _analyze

##響應,,

]}

2.8、中文分詞

中文分詞的難點:

常用中文分詞器

本次學習中文分詞使用ik分詞外掛程式,具體外掛程式如何安裝在下一小節給出詳細介紹,這裡不再贅述

ik分詞外掛程式有兩個分詞器,分別是ik_smart、ik_max_word

舉例:對"這個蘋果不大好吃"進行分詞

post _analyze

## 響應,,

,,,]

}

2.9、自定義分詞

我的理解:根據自己的需求 重新指定character filters、tokenizer、tokenizer,使其滿足自己的需求。

需求:如 」不分詞 將詞語按照其小寫形式原樣輸出「

post _analyze

## 響應

]}

elasticsearch中rollover的用法

滾動索引一般可以與索引模板結合使用,實現按一定條件自動建立索引。設定rollover之後,滿足條件後,會自動新建索引,將索引別名轉向新索引。當現有的索引太久或者太大時,往往使用rollover index建立新索引。新建索引模板,模板內容如下 put template mytemplate type...

Elasticsearch(4)配置中文分詞器

安裝擴充套件本地詞庫 方式一 方式二 github將解壓後的 ik 資料夾,放入 elasticsearch 資料夾下的plugins ik目錄下。啟動 elasticsearch 後,看到下圖,表示啟動成功。在plugins ik config custom目錄下新增檔案hotwords.dic。...

elasticsearch中的mapping簡介

elasticsearch 以下簡稱es 是沒有模式 schema 的,當我們執行以下命令 filter的功能很容易理解 乙個filter就是乙個轉換資料的方法,輸入乙個字串,這個方法返回另乙個字串,比如乙個將字串轉為小寫的方法就是乙個filter很好的例子。乙個analyzer由一組順序排列的fi...