elasticsearch中TermQuery查不到数据问题

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

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

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

posted @ 2019-08-29 21:13  x1aoda1  阅读(7777)  评论(9编辑  收藏  举报