当前位置: 首页 > 工具软件 > QueryBuilder > 使用案例 >

QueryBuilders.termQuery 无法查找到数据

东门晨
2023-12-01

在java rest client中调用elasticsearch中的数据,精准匹配的termQuery查不到数据,这个问题是java rest client客户端自带的bug,换用matchPhraseQuery直接替换即可。有点坑!

在elastic权威指南一书中是这样给出建议的:"匹配查询 match 是个 核心 查询。无论需要查询什么字段, match 查询都应该会是首选的查询方式。它是一个高级 全文查询 ,这表示它既能处理全文字段,又能处理精确字段。"这就意味着match查询是高级查询,底层使用了term查询。

结论:相关度查询使用match,精确字段查询使用matchPhrase即可。

参考:https://www.cnblogs.com/darope/p/11432079.html

 类似资料: