Есть ли в 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.
В зависимости от ваших потребностей. Значительное агрегирование текста также может вас заинтересовать.