Вернуть, какое поле было найдено в Elasti c Поиск - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь выяснить, что на самом деле было найдено для поиска в специфике c, для которой возвращается do c.

Пример. У меня есть индекс таблицы, где есть поля с именами table_name и column_name ... Мой поисковый запрос находит оба этих поля, теперь, если я запускаю поисковый запрос, и любое из них сопоставляется, но я хочу знать, что сопоставлено .. будь то его имя_столбца или имя_таблицы.

Мне известно об API объяснения, но для этого потребуется вызов другого API ...

1 Ответ

3 голосов
/ 27 апреля 2020

Вам не нужно вызывать API объяснения. API поиска поддерживает флаг explain

GET stackoverflow/_search?explain=true

. Это вернет раздел _explanation вместе с разделом _source.

Обновление

Другим решением будет использование выделение . Я использовал это раньше, для ручной оценки запросов. Это простой способ получить отзывы о том, что соответствует

GET stackoverflow/_search
{
  "query": {
    "match": {
      "FIELD": "TEXT"
    }
  },
  "highlight": {
    "fields": {
      "*": {}
    }
  }
}

Конечно, вы можете также установить флаг объяснения

...