elasticsearch multi_match vs should

时间:2015-09-29 08:42:00

标签: elasticsearch

有人可以告诉我

之间的区别
"query": {
    "bool": {
        "should": [
            { "match": {"title": keyword} },
            { "match": {"description": keyword} }
        ]
    }

"query": {
        "multi_match": {
            "query": keyword,
            "fields": [ "title", "description" ]
        }
    }

如果选择上述两个中的一个,是否有任何表现转变?

1 个答案:

答案 0 :(得分:2)

这取决于multi_match的{​​{3}}。在您的示例中,由于您未指定类型,因此使用type parameter。这使用了best_fields,基本上是

  

使用最佳字段中的_score

另一方面,您的示例包含should

  

结合每个字段的_score。

并且相当于multi_match类型Dis Max Query