Как посчитать количество подходящих ключевых слов по документам в ES - PullRequest
0 голосов
/ 23 апреля 2019

Здравствуйте, у меня есть эластичные документы поиска, размещенные в управляемых сервисах AWS, я хочу получить количество ключевых слов, присутствующих в наборе результатов. Т.е. скажем, в моих документах есть текстовые данные в ключе, а я ищу ключи X, Y, Z. он возвращает мне N документов. Как я могу узнать, сколько раз X присутствует в N документах, сколько раз Y присутствует и Z присутствует. Например: У меня есть следующие документы:

{
"id":1,
"date":"2019-04-24 12:10:05",
"text":"Hi I am from India and here for few days only",
"groupName":"India Toruist"
}

{
"id":2
"date":"2019-04-24 12:10:06",
"text":"Hi I am from Sri Lanka went to India in past and will stay here for 18 days only",
"groupName":"Sri Lanks Tourist"
}

Теперь я ищу Шри-Ланку и Индию по текстовому ключу. Она вернет мне и документ 1, и 2. Я хочу узнать, сколько раз Индия встречалась и сколько раз Шри-Ланка встречалась.

1 Ответ

0 голосов
/ 24 апреля 2019

Вы можете сделать это с помощью агрегатов. Ниже приведен запрос, который может вам помочь.

    {
    "size": "0",
    "aggs": {
        "docs_groupName_in": {
            "terms": {"field": "groupName.keyword","include" : ".*India.*"}
        },
"docs_groupName_sl": {
            "terms": {"field": "groupName.keyword","include" : ".*Sri Lanka.*"}
        }
    }
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...