2015-09-29 6 views
1

Может кто-нибудь сказать мне разницу междуelasticsearch multi_match против должен

"query": { 
    "bool": { 
     "should": [ 
      { "match": {"title": keyword} }, 
      { "match": {"description": keyword} } 
     ] 
    } 

и

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

Есть ли производительность поворота, если выбрать одну из двух выше?

ответ

2

Это зависит от type parameter вашего multi_match. В вашем примере, так как вы не указали тип, используется best_fields. Это делает использование Dis Max Query и в основном

использует _SCORE от лучшего поля

С другой стороны, ваш пример с should

сочетает в себе _SCORE от каждого поля.

и это эквивалентно multi_match с типом most_fields

Смежные вопросы