Pull to refresh

Comments 8

Спасибо! Как раз недавно начал смотреть ES для разнообразия.
У меня вопрос по terms aggregation. Когда я пробовал его использовать, он группировал документы не по значениям поля, а по словам в нем. Хотя, как мне кажется, чаще нужно именно первое. Где-то видел рекомендацию отключать анализ этого поля, но как тогда по нему искать… Как правильнее поступать в такой ситуации?
Красивого решения одним параметром я не нашел. Как вариант если это что-то вроде категорий, то присваивать им ID и группировать по ID.
Если же это невозможно, а выключать аналайзер очень не хочется, то можно продублировать это поле, одно указать в маппинге без анализатора, а второе как нужно.

Всё таки стоит рассматривать ES больше как поиск, чем точная обработка и работа с данными. Как показывает практика, объединение даёт отличный результат на большом объеме данных, группирую документы максимально релевантно.
Да, видимо в этом случае действительно только по id группироваться. Получается сами значения нужно вытаскивать из другого источника данных и это нормальная практика для ES?
Просто странно, что нет простого способа сгруппироваться по самому значению, хотя в самом ES оно хранится. Видимо отсюда следует, что вместе с каждой группой нельзя вытащить дополнительные поля. (Что-то вроде select foo_id, foo_name from bar group by foo_id — группировка только по id, а вытаскиваем ещё и name)
можно сделать вложенное поле, которое не будет анализироваться. При этом храниться будет только одна копия данных и задавать можно только внешнее поле

"text" : {
            "type" : "string",
            "analyzer" : "russian_morphology",
            "fields" : {
              "raw" : {
                "type" : "string",
                "index" : "not_analyzed"
              }
            }
          }
Блин, про такой метод я, конечно, знал, а вот про то, что он не дублирует информация — забыл. Спасибо)
Хотелось бы в следующих статьях узнать поподробнее о связке elasticsearch — hadoop. В частности реально ли скрестить logstash/elasticsearch/kibana с hadoop для повышения скорости работы по аналитике логов.
На заглавной картинке изображен крупный агрегатор в погоне за клиентами? ))
Скорее мы с вами(акулы), когда пытаемся собрать миллионы информации в единый поток.
Sign up to leave a comment.