Использование multi_match с массовым сканированием Elasticsearch в Python - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь использовать функциональность multi_match в Elasticsearch с использованием библиотеки asticsearch-py .

Настройте его так:

  res = helpers.scan(es, index="allcomms", query = {
      "multi_match" : {
      "query":    'multiple terms', 
      "fields": ["text"] 
  }})

Я получаю:

RequestError: RequestError (400, 'parsing_exception', 'Неизвестный ключ для START_OBJECT в [multi_match]. ')

Кто-нибудь знает, есть ли способ провести этот поиск с помощью библиотеки Elasticsearch-py?

Спасибо!

1 Ответ

0 голосов
/ 10 ноября 2018

Я думаю, что запрос не правильный. Всякий раз, когда мы наблюдаем parsing_exception, мы должны сначала убедиться, что наш запрос работает через Kibana или Postman или любой другой RESTful client application, указывающий на экземпляр ES.

Ваш код должен быть в следующем формате.

res = helpers.scan(es, index="allcomms", query = { "query" : {
      "multi_match" : {
      "query": "multiple terms", 
      "fields": ["text"] 
  }}})

В основном ниже, как ваш мульти-совпадение запрос будет

POST <your_index_name>/_search
{  
   "query":{  
      "multi_match":{  
         "query":"multiple terms",
         "fields":[  
            "text"
         ]
      }
   }
}

Дайте мне знать, если это поможет!

...