Тип multimatch запроса ElasticSearch cross_fields

Я пытаюсь использовать запрос с множественным соответствием elasticsearch (версия 1.0) с типом cross_fields, как в руководстве на странице elasticsearch здесь:

запрос выглядит так (и точно так же, как на странице elasticsearch):

{
  "multi_match" : {
    "query":      "Robert Smith",
    "type":       "cross_fields",
    "fields":     [ "vorname", "familienname" ],
    "operator":   "and"
  }
}

индекс создается с помощью плагина jdbc river (с автоматическим сопоставлением) и отлично работает с другими запросами. Когда я удаляю тип: cross_fields или изменяю его, например, на phrase_prefix, он работает нормально. когда я меняю его на другой тип, например most_fields, он тоже не работает. ошибка, которую я получаю, выглядит так:

{
  "error": "SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[WXL5tNBeQB6tW0xLDPURRA][df_smsdata][3]: SearchParseException[[df_smsdata][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"multi_match\":{\"query\":\"Robert Smith\",\"type\":\"cross_fields\",\"fields\":[\"vorname\",\"familienname\"]}}}]]]; nested: QueryParsingException[[df_smsdata] **[multi_match] query does not support type cross_fields];** }{[WXL5tNBeQB6tW0xLDPURRA][df_smsdata][2]: SearchParseException[[df_smsdata][2]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"multi_match\":{\"query\":\"Robert Smith\",\"type\":\"cross_fields\",\"fields\":[\"vorname\",\"familienname\"]}}}]]]; nested: QueryParsingException[[df_smsdata] [multi_match] query does not support type cross_fields]; }{[WXL5tNBeQB6tW0xLDPURRA][df_smsdata][4]: SearchParseException[[df_smsdata][4]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"multi_match\":{\"query\":\"Robert Smith\",\"type\":\"cross_fields\",\"fields\":[\"vorname\",\"familienname\"]}}}]]]; nested: QueryParsingException[[df_smsdata] [multi_match] query does not support type cross_fields]; }{[WXL5tNBeQB6tW0xLDPURRA][df_smsdata][1]: SearchParseException[[df_smsdata][1]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"multi_match\":{\"query\":\"Robert Smith\",\"type\":\"cross_fields\",\"fields\":[\"vorname\",\"familienname\"]}}}]]]; nested: QueryParsingException[[df_smsdata] [multi_match] query does not support type cross_fields]; }{[WXL5tNBeQB6tW0xLDPURRA][df_smsdata][0]: SearchParseException[[df_smsdata][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"multi_match\":{\"query\":\"Robert Smith\",\"type\":\"cross_fields\",\"fields\":[\"vorname\",\"familienname\"]}}}]]]; nested: QueryParsingException[[df_smsdata] [multi_match] query does not support type cross_fields]; }]",
  "status": 400
}

Я вижу исключение синтаксического анализа, которое запрос не поддерживает cross_fields. есть ли что-то, что я должен установить при создании индекса?


person preboha    schedule 17.03.2014    source источник
comment
Здесь точно такая же проблема. Нужна ли для этого v1.1?!   -  person mblaettermann    schedule 31.03.2014


Ответы (1)


В вашей связанной документации говорится:

типы запросов multi_match

Примечание Добавлено в версии 1.1.0.

Также упоминается в http://www.elasticsearch.org/blog/elasticsearch-1-1-0-released/

Вам нужно будет загрузить более новую версию.

person fisch    schedule 02.04.2014