Multi_match:best_fields with complex queries no dis_max

Is there any way to use the multi_match interface using these more complex matchs?

Obs: I believe that multi_match: best_fields works as if it were an alias pro dis_max in this situation mentioned

I am trying to use multi_match to execute some queries, but as I read in the documentation, I noticed that within the multi_match context I can not make explicit the whole complex structure of each field, for example:

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

This structure above represents a simple multi_match where it was not parameterized anything besides the fields used in the match and the value of the query, if I were for example want to put zero_terms_query already could not because multi_match does not support this parameter, having as a following way:

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

I was able to do it by applying some parameters inside the own multi-match, as below:

      'must' => [
                    'multi_match' => [
                        'query' => '{{query}}',
                        'zero_terms_query' => 'all',
                        'operator' => 'and',
                        'fields' => []
                    ]
                ],

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.