Могу ли я найти, какое поле было наиболее релевантным в запросе multi_match?

#elasticsearch #elasticsearch-5

#elasticsearch #elasticsearch-5

Вопрос:

Например, в этом запросе:

 GET /recipes/_search
{
  "query": {
    "multi_match": {
      "query": "pasta pesto",
      "fields": ["title", "description"]
    }
  }
}
 

Есть ли способ для каждого результата узнать, какое поле между заголовком и описанием получило лучший результат?

Ответ №1:

По умолчанию вы не получите эту информацию, но вы можете использовать Explain API, который объяснит полную информацию о подсчете очков и поможет вам определить, что в вашем наборе данных для данного запроса и результатов поиска добавлено, сколько очков и как было рассчитано. оценка.

Комментарии:

1. Мой вопрос касался не цели отладки, а реального использования в моем приложении. Если я правильно понимаю, вы подтверждаете, что это невозможно.

2. @Koala-Gentil, вы можете включить этот explain параметр в каждый свой поисковый запрос, и, проанализировав выходные данные, вы узнаете, но да, из коробки нет простого способа добиться этого, и включение explain в каждый запрос и анализ огромных выходных данных будут дорогостоящими.