分析是文档被发送并加入倒排索引之前,es在其主体上进行的操作,具体如下
1.字符过滤-使用字符过滤器转变字符
2.文本切分为分词-将文本切分为单个或多个分词
3,分词过滤-使用分词过滤器转变每个分词
4.分词索引-将这些分词存储到索引中
为文档使用分析器
1.当创建索引的时候,为特定的索引进行设置-直接生效
2.在es配置文件中,设置全局分析器-需重启生效
在映射中指定某个字段的分析器
#为description字段指定myCustomerAnalyzer分析器{"mappings": {"document":{"properties":{"description":{"type":"string","analyzer":"myCustomerAnalyzer"}}}}}#指定不要分析description字段{"mappings": {"document":{"properties":{"description":{"type":"string","index":"not_analyzed"}}}}}
使用分析API来分析文本
curl -XPOST 'localhost:9200/_analyze' -H 'Content-Type: application/json' -d '{"analyzer": "standard","text": "share your experience with NoSql & big data technologies"}'
请求Elasticsearch返回get-together索引中ID为1的文档,在description和tags字段上的词项向量以及相关统计信息
curl -X GET "localhost:9200/get-together/_termvectors/1?pretty=true" -H 'Content-Type: application/json' -d '{"fields":["description","tags"],"term_statistics":true}'
分析器包含:
1.标准分析器:
1.1.标准分词器
1.2.标准分词过滤器
1.3,小写转换分词过滤器
1.4.停用词分词过滤器
2.简单分析器
3.空白分析器
4.停用词分析器
5,关键词分析器
6.模式分析器
7.语言和多语言分析器
8.雪球分析器
分词器包括:
1.标准分词器
2,关键词分词器
3.字母分词器
4.小写分词器
5.空白分词器
6.模式分词器
7.UAX URl电子邮件分词器
8.路径层次分词器
分词过滤器
1.标准分词过滤器
2.小写分词过滤器
3.长度分词过滤器
4.停用词分词过滤器
5.截断分词过滤器,修剪分词过滤器,限制分词数量过滤器
6.颠倒分词过滤器
7.唯一分词过滤器
8.ASCII折叠分词过滤器
9.同义词分词过滤器