ElasticSearch:分词

es内置分词器
  • standard:默认分词,单词会被拆分,大小会转换为小写。

  • simple:按照非字母分词。大写转为小写。

  • whitespace:按照空格分词。忽略大小写。

  • stop:去除无意义单词,比如the/a/an/is…

  • keyword:不做分词。把整个文本作为一个单独的关键词。

restful风格使用

POST /_analyze
{
    "analyzer": "standard",   // 分词器
    "text": "text文本"     // 需要分词的文本
}
中文分词

内置分词器只支持英文,中文分词需要用第三方插件,这里推荐elasticsearch-analysis-ik,支持ik_max_wordik_smart两种分词方式。

  • ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合,适合 Term Query;

  • ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”,适合 Phrase 查询。

扩展词库与停用词库

配置 {conf}/analysis-ik/config/IKAnalyzer.cfg.xml




	IK Analyzer 扩展配置
	
	custom/mydict.dic;custom/single_word_low_freq.dic
	 
	custom/ext_stopword.dic
 	
	location
 	
	http://xxx.com/xxx.dic

你可能感兴趣的:(ElasticSearch:分词)