Elasticsearch使用单个查询在多个字段中查找精确文本

时间:2015-01-19 14:02:11

标签: elasticsearch

我有一个包含多个字段的文档,例如

"标识符" (字符串)分析

"描述" (字符串)分析

"备注" (字符串)分析

当然,基于通用评分的查询效果非常好。

E.g。如果我搜索蓝色汽车,它会使用正确的评分算法等显示相关结果。

虽然我还要求像google一样完全匹配查询

E.g。 "蓝色车" 应该只返回确切短语" blue car"在任意字段的文本中显示任何地方

实现此目的的最佳方法是什么?

非常感谢!

1 个答案:

答案 0 :(得分:1)

试试这个,意思是multi_match with phrase type

{
  "query": {
    "multi_match": {
      "query": "blue car",
      "fields": [
        "text",
        "message",
        "whatever"
      ],
      "type": "phrase"
    }
  }
}