一、问题描述:
为什么term搜索“狂”有数据,而“狂神”没有呢?
二、情况描述:
mapping如下:
三、分析
分词器刚开始就会把你的狂神拆分成了狂和神,term的时候,es保存的是单个的字,所以你找不到。
muyuwj的理解:
es把存储的"狂神说Java name"拆分成了"狂",神,说,Java,name。然后存储在倒排索引中,所以导致使用term精准查找"狂神"没有结果。
参考链接:
https://www.cnblogs.com/imaye/p/9903897.html
官方基于 Elasticsearch 2.x 版本(有些内容可能已经过时):
https://www.elastic.co/guide/cn/elasticsearch/guide/current/_finding_exact_values.html
补充:
还需注意text类型和keyword类型。
参考:
https://blog.csdn.net/qq_32635069/article/details/88901271