ElasticSearch - 如何使用multi_match执行查询而不使用“dis_max”?

时间:2017-12-04 11:00:45

标签: elasticsearch lucene nosql

有没有办法使用这些更复杂的匹配来使用multi_match接口?

Obs:我认为multi_match:best_fields在这种情况下就好像是别名pro dis_max

我正在尝试使用multi_match来执行一些查询,但正如我在文档中读到的那样,我注意到在multi_match上下文中我无法明确表示每个字段的整个复杂结构,例如:

{
    "multi_match": {
        "query":    "quick brown fox",
        "fields": [ "title", "body" ],
        "type":     "best_fields"      # default
    }
}

上面的这个结构表示一个简单的multi_match,除了匹配中使用的字段和查询的值之外,它没有被参数化,如果我想要放置zero_terms_query已经不能,因为multi_match不支持这个参数,以下列方式:

{
    "dis_max": {
        "queries": [
            { "match": { "title": {
                             "query" : "quick brown fox",
                             "zero_terms_query" : 'all'
                       }} 
            },
            { "match": { "body":  "quick brown fox" }}
        ]
    }
}

0 个答案:

没有答案