第三章:ES分词简单说明

1.

  

  Index_Analyzer为索引时使用的分词器,search_Analyzer为搜索时使用的分词器

  这个索引,对应的数据是下图:

  数据格式是用%分隔的年份,"index_analyzer": "pct_spliter"分词是将这条数据索引时用%分隔掉,拆成2006和2003两个,聚类的时候会分别计数到2006和2003里一次;

  "search_analyzer": "keyword"是搜索时用keyword英文分词形式将检索条件分隔,具体keyword分词算法我也不清楚,我们项目里,一般是将数字、英文字符这样的数据用keyword,那么在检索PubDateYear:2006时,凡是PubDateYear里出现“2006”的,都能检索到;

2.

  

  该索引对应的数据格式为:

  

  数据格式仅为单个的年份,的写法就相当于"index_analyzer": " keyword ";"search_analyzer": "keyword"的简化写法,分词功能同上述

3.

  

  英文字段的索引,simple_english_analyzer分词是基于空格的简单英文分词,数据如下:

  没有特殊分隔符的英文数据,检索字段包含的任意一个单词或者双引号包含的连续几个单词,都会命中该条记录;

4.

  

  英文字段的索引,custom_snowball_analyzer分词算法跟simple_english_analyzer类似,我们的项目中是用来索引作者英文姓名字段的,这两个的具体区别不是太清楚,可以查查Lucene里的具体算法

  custom_snowball_analyzer是针对西欧多种语言的分词,(记着是这样的),作者字段用这个,是担心作者名字并非全部都是英文的

5.

  Mapping中的En开头的索引都是废弃不用的,他们使用的ik分词是中文分词,类似于keyword分词使用

 

posted @ 2017-05-24 08:46  风之圣痕  阅读(9865)  评论(0编辑  收藏  举报