В ElasticSearch есть ли способ получить количество совпадений терминов для каждого совпадения, возвращаемого ES для запроса запроса термина? - PullRequest
0 голосов
/ 01 апреля 2020

Для данного запроса поиска запроса термина я смогу найти число терминов, соответствующих каждому из значений, возвращаемых ElasticSearch?

Если предположить, что у меня есть входное значение -

{
    "query": {
        "match" : {
            "message" : "this is a test"
        }
    }
}

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

здесь число терминов, совпадающих по отношению к запрос для 'этот человек' - 1 , а для 'этот человек-тест' - 2.

Есть ли способ напрямую получить это число в ответе?

1 Ответ

0 голосов
/ 01 апреля 2020

Вы можете выполнить агрегирование терминов для подсчета точных предложений:

  "query": {
    "match": {
      "message": "this is a test"
    }
  },
  "aggs": {
    "genres": {
      "terms": {
        "field": "message.keyword"
      }
    }
  }

Обратите внимание, что потребуется сопоставление с текстом (для запроса на совпадение) и ключевым словом (для AGG). Это отображение по умолчанию в ElasticSearch.

Зависит от вашей потребности Значительная агрегация текста также может вас заинтересовать

...