我正在使用HighLevelRestClient 7.4.0,并且很好奇在使用Index API为文档建立索引时如何创建not_analyzed字段。
问题是我正在尝试按标题实现电影搜索,如果我搜索“矩阵”,它将返回正确的结果,但是如果我搜索“矩阵”,它将返回几乎所有电影中带有“the”的电影。标题(matchQuery就是这种情况)。
我改为使用termQuery,但是现在当我搜索“矩阵”时,它会返回正确的结果,而当我搜索“矩阵”时,它找不到任何东西,“矩阵”也是如此。
我猜问题是在索引文档时,默认情况下会分析每个文本字段。如何创建not_analyzed索引?
现在,我通过使用GSON将数据结构简单地转换为Json来索引电影。
最佳答案
为了正确执行搜索,我不得不使用matchPhraseQuery而不是matchQuery或termQuery。
关于elasticsearch - Elasticsearch Java HighLevelRestClient如何创建not_analyzed索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58556413/