Как мы можем сделать ключевую нечувствительную агрегацию мощности? - PullRequest
1 голос
/ 15 октября 2019

Мы можем использовать количество элементов, чтобы получить различный счетчик для поля, однако количество элементов зависит от регистра ... это означает, что если у нас есть электронные письма, такие как user@x.com, User@x.com и USER@x.com, они будут считаться как 3 электронных письма,однако мне нужно, чтобы это подсчитывалось как одно почтовое число.

Это агрегация, которую я использую:

  "aggs" : {
        "emails" : {
            "cardinality" : {
                "field" : "emails.keyword"
            }
        }
    }

Мне нужно что-то вроде:

  "aggs" : {
        "emails" : {
            "cardinality" : {
                "field" : "emails.keyword",
                "casesensitive": false ????
            }
        }
    }

Как мы можем сделать агрегирование мощности множества нечувствительным к ключу?

1 Ответ

0 голосов
/ 15 октября 2019

Хотя я бы согласился с предложением Вала, вот запрос, который я считаю полезным, если у вас нет контроля над отображением, где я использовал собственный сценарий в Агрегирование кардинальности

Запрос агрегации:

POST <your_index_name>/_search
{ 
   "size":0,
   "aggs":{ 
      "email_count":{ 
         "cardinality":{ 
            "script":{ 
               "source":"doc['email.keyword'].toString().toLowerCase()"
            }
         }
      }
   }
}

Обратите внимание, что вы найдете более подробную информацию о Scripting в вышеупомянутой ссылке.

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

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