2017-02-08 1 views
1

У меня есть запрос в Elasticsearch, где я хочу матч на нескольких полях, чтобы получить постоянную оценкуElasticsearch constant_score не SUPORT multi_match

"query": { 
    "bool": { 
     "must": [ 
     { 
      "constant_score": { 
      "multi_match": { 
       "query": "e w h", 
       "fields": [ 
       "displayterm.ngram", 
       "citalias1.ngram", 
       "citalias2.ngram" 
       ], 
       "type": "phrase_prefix" 
      } 
      } 
     } 
     ], 

Но я получаю следующее сообщение об ошибке:

"[constant_score] query does not support [multi_match]",

ответ

0

You нужно обернуть multi_match запрос в query объекта:

{ 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "constant_score": { 
      "query": { 
       "multi_match": { 
       "query": "e w h", 
       "fields": [ 
        "displayterm.ngram", 
        "citalias1.ngram", 
        "citalias2.ngram" 
       ], 
       "type": "phrase_prefix" 
       } 
      } 
      } 
     } 
     ] 
    } 
    } 
} 
+0

Спасибо - теперь это работает! – ChrisB