Есть ли в ElasticSearch способ получить количество терминов, соответствующих каждому совпадению, возвращаемому ES для запроса запроса термина?

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

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

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

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

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

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

1 ответ

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

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

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

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

Другие вопросы по тегам