LINUX.ORG.RU

Elasticsearch 5.0

 


2

4

Спустя 364 дня с момента выпуска версии 2.0 состоялся релиз Elasticsearch 5.0 — многофункционального распределённого движка полнотекстового поиска с поддержкой географии и аналитики. Проект написан на Java, построен на базе библиотеки Apache Lucene и распространяется под лицензией Apache 2.0.

Наиболее заметные изменения:

  • Обновление на Lucene 6. Теперь для индексации чисел, дат, ip-адресов и гео-точек используется Lucene dimensional points вместо обычных инвертированных индексов, что позволяет уменьшить размеры индексов, существенно увеличить скорость исполнения range-запросов и расширить возможности индексации. Это вызвало сопутствующие изменения в маппингах, а также в скоринге найденных результатов.
  • Скорость индексации в целом возросла на 25-80%.
  • Тип поля string теперь разделён на типы text и keyword для полнотекстовой и обычной индексации соответственно. Раньше для этого использовался параметр index, принимавший значения analyzed и not_analyzed. Однако для типа string также сохраняется обратная совместимость в рамках ветки 5.x.
  • Поля _timestamp и _ttl ушли в прошлое. Для удаления устаревших документов предлагается использовать Delete by Query API.
  • Поддержка индексации адресов IPv6.
  • Новые типы данных: half_float и scaled_float.
  • Optimize API переименовано в Force Merge API с аналогичным синтаксисом и назначением.
  • Для написания скриптов теперь по умолчанию используется Painless, совместимость с Groovy сохранена. Новый язык для написания скриптов был разработан с целью упрощения выполнения типичных задач на фоне решения постоянных проблем с изоляцией и безопасностью у языков-предшественников.
  • Ingest API для трансформации входных данных. Можно определять pipeline'ы из процессоров, например для парсинга каких-то сырых данных в документы перед индексацией. Также, допускается выделение отдельных узлов кластера под эти задачи: node.ingest: false в конфигах узлов, которым запрещается заниматься ingest'ом.
  • При опечатках в работе с API elasticsearch выдаёт подсказки в стиле «Did you mean ...?», а так же более строго рассматривает вводимые пользователем настройки и параметры.
  • Оптимизации в Search и Aggregations API, в том числе устраняющие тормоза kibana при повторных агрегациях на диапазоне дат.
  • Completion Suggester учитывает документы, которые были удалены; умеет ранжирование прямо во время поиска. Раньше допускалось задавать ранжирование (вес каждого результата) только во время индексации.
  • Удалены site-плагины.
  • Добавлен Java REST client, работающий по HTTP. Java transport client вынесен в отдельную зависимость. Сравнение производительности двух java-клиентов.

Скачок в нумерации версий связан с решением о синхронизации версий elasticsearch, kibana, logstash, beats и других продуктов Elastic.

>>> Полный список изменений

>>> Breaking changes

>>> Подробности

★★★★★

Проверено: Shaman007 ()

А почему новость не от макскома?

anonymous ()

Поля _timestamp и _ttl ушли в прошлое.

Жаль, удобная фича была.

anonymous ()

JAVA не нужна. JAVA это тормоза. JAVA это пожирание ресурсов машины.

anonymous ()

надо будет потыкать палочкой новый ELK

Deleted ()
Ответ на: комментарий от anonymous

Жрет в два раза меньше, если не больше, чем твой мокрописечный DE ;)

ntfs1984 ()
Ответ на: комментарий от ntfs1984

Да это аутотренинг у него такой, не обращай внимания.

ps Пора обновлять ELKшечки :)

phoen ★★ ()
Последнее исправление: phoen (всего исправлений: 1)
Ответ на: комментарий от ntfs1984

Эластик жрет в два раза меньше DE? Какой объем данных у вас там лежит и как часто происходят обращения?

alozovskoy ★★★★★ ()
Ответ на: комментарий от alozovskoy

Эмм...Я ответил на коммент где JAVA жрет много ресурсов и тормозит))

JAVA - не тормозит (с) Томми

ntfs1984 ()
Ответ на: комментарий от ntfs1984

Ну говорить про «абстрактную» Java смысла не имеет, по-этому и спросил в тему сабжа.

Java не тормозит, просто все остальное слишком быстро работает. Ну GC не вовремя запустился, да.

alozovskoy ★★★★★ ()

Тип поля string теперь разделён на типы text и keyword для полнотекстовой и обычной индексации соответственно.

я правильно понял, что теперь

string/analyzed -> keyword
string/not_analyzed -> text

autonomous ★★★★ ()
Последнее исправление: autonomous (всего исправлений: 1)

зачем оно всё на жабе? глобальные и надежные индусы писали?

mos ★★☆☆☆ ()
Последнее исправление: mos (всего исправлений: 1)
Ответ на: комментарий от migesok

Потому что быстро пишется.

Если быстро пишется, значит медленно работает. Либо быстро пишется, либо быстро работает - это взаимоисключающие факторы.

anonymous ()
Ответ на: комментарий от phoen

Да это аутотренинг у него такой, не обращай внимания.

Пилите Шура, пилите. Они золотые. (с)

anonymous ()
Ответ на: комментарий от WindowsXP

Даже не знаю. Когда внедрял сурикату, все плевались что с грейлогом оно очень медленно работает. С тех пор вот только на ELK сижу. Гигабитный траф жуёт, памяти на всё хватает, так что я доволен.

Deleted ()
Ответ на: комментарий от anonymous

А почему новость не от макскома?

А кто это такой и почему кого-то должно парить кто постит новости?

anonymous ()
Ответ на: комментарий от anonymous

JAVA не нужна. JAVA это тормоза. JAVA это пожирание ресурсов машины.

Согласен.

anonymous ()

При опечатках в работе с API elasticsearch выдаёт подсказки в стиле «Did you mean ...?», а так же более строго рассматривает вводимые пользователем настройки и параметры.

Неплохо.

sT331h0rs3 ★★★★★ ()
Ответ на: комментарий от WindowsXP

graylog это «замена» «L» (logstash) и «K» (kibana), то есть может слушать порты (принимая и парся логи) и рисовать графики. Данные ему все равно в эластике хранить.

logstash показался гибче в планах парсинга логов, а для графиков все равно приходится графану использовать, так что особого смысла в graylog не увидел. Плюсы по сравнению с LK - мышкой натыкал в интерфейсе логику парсинга, посмотрел на примере как отработает, и не паришься; graylog сам следит за индексани (в logstash ты можешь сказать в какой индекс писать, но вот чтоб и ротировать приходится использовать consul или аналогичные костыли, да и инфу по кластеру\индексам приходится вытягивать сторонними средствами или через REST). В целом все это легко заменяется\автоматизируется, так что это далеко не решающие преимущества.

alozovskoy ★★★★★ ()

Попытался обновиться - ругается на то что ему мало дефолтного vm.max_map_count. Так как просто по своему хотению не могу лезть в эти конфиги - пока бросил. Отпишитесь кто успешно переедет, пожалуйста.

alozovskoy ★★★★★ ()
Ответ на: комментарий от anonymous

Если быстро пишется, значит медленно работает. Либо быстро пишется, либо быстро работает

либо пишется, и работает, либо разработка погрязает в отлове багов и попытках прикрутить юникод к и без того запутанному коду.

anonymous ()
Ответ на: комментарий от alozovskoy

спасибо... надо значит все-таки елк потыкать в докере поактивнее...

WindowsXP ★★ ()
Ответ на: комментарий от ntfs1984

Жрет в два раза меньше, если не больше

Ага, — больше, раза в два. ;)

anonymous ()
Ответ на: комментарий от anonymous

Индексы lucene жрут память. java не при делах.
Но и тут наблюдается заметный спад потребления с каждым мажорным релизом.

shahid ★★★★★ ()

Если сравнивать с Solr, оно чем-то лучше или примерно тоже самое?

GoNaX ★★★ ()
Ответ на: комментарий от GoNaX

Масштабируется из коробки и работает без заранее заданной схемы.

migesok ()
Ответ на: комментарий от migesok

Нужно будет посмотреть, как все это выглядит.

В Solr есть SolrCloud и Schemaless Mode, хотя Schemaless Mode я не юзал.

Если есть под рукой простой мануал по масштабирование эластика, то буду благодарен за ссылку.

GoNaX ★★★ ()
Ответ на: комментарий от anonymous

и ведь находятся те кто верит в это

anonymous ()
Ответ на: комментарий от GoNaX

Теперь по фичам наверное паритет, но SolrCloud и Schemaless Mode были как afterthought, когда ES был сразу спроектирован так.

Про масштабирование стоит читать оф мануал, там не так много.

migesok ()
Ответ на: комментарий от WindowsXP

graylog тоже юзает Эластиксерч. Обо всем остальном - хз.

ipeacocks ★★★★★ ()

Когда его научать джоинить? Solr тоже на Lucene построен, при этом умеет {!join from= to=}

southern_sun ()
Ответ на: комментарий от southern_sun

Приучают людей к горшку обходится без этого жручего тормозилова.

shahid ★★★★★ ()
Ответ на: комментарий от southern_sun

Как ты будешь джойнить между разными шардами на разных нодах?

migesok ()
Ответ на: комментарий от migesok

Так же, как и Apache Ignite (In-Memory Data Grid), либо внутри шарда с учетом affinity, либо между шардами (distributed join) — долго и мучительно.

anonymous ()

Интересно, а у них есть GPL аналог?

zabbal ★★ ()
Ответ на: комментарий от anonymous

Я не очень представляю, зачем такая машинерия нужна в по сути тулзе для полнотекстового поиска в свалке логов.

migesok ()
Ответ на: комментарий от anonymous

affinity-collocation

_routing.

sql-joins

Внутришардово можно делать через parent-child.

distributed-joins
> potential data movement

Ясно. Домашку по информатике сделал уже?

shahid ★★★★★ ()

Кто-то уже юзает ELK 5 ?
Я один такой или у всех в кибане баг на баге ?

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.