Elasticsearch

Elasticsearch
Логотип программы Elasticsearch
Тип Поиск и индексация
Автор Шай Банон[d]
Разработчик Шай Бейнон
Написана на Java
Операционная система Кроссплатформенная
Первый выпуск 8 февраля 2010
Аппаратная платформа Java Virtual Machine
Последняя версия
Репозиторий github.com/elastic/elast…
Состояние Активное
Лицензия Эластичная с двойной лицензией (проприетарная; источник доступен) and Server Side Public License (проприетарный; источник доступен)
Сайт elastic.co/products/elasticsearch
Логотип Викисклада Медиафайлы на Викискладе
Шай Бейнон в Берлине на Buzzwords 2010

Elasticsearch — тиражируемая программная поисковая система, по состоянию на середину 2010-х годов — самая популярная в своей категории[2][неавторитетный источник]. Написана на Java, распространяется по лицензии SSPL (англ. Server Side Public License; обеспечивающей открытость, но не считающейся свободной), в основе использует библиотеку Lucene (так же как и вторая по популярности поисковая система — Solr), официальные клиенты доступны на PHP, Java, .NET (C#), Python, Groovy и ряде других языков.

Разрабатывается компанией Elastic вместе со связанными проектами — механизмом сбора данных и анализа журналов Logstash и платформой аналитики и визуализации Kibana; эти три продукта предназначены для использования в качестве интегрированного решения, называемого «Elastic Stack» (ELK).

Среди крупных сайтов, использующих Elasticsearch, отмечаются Викимедиа, StumbleUpon, Quora, Foursquare, SoundCloud, GitHub и Netflix. Amazon, IBM, Qbox и компания Elastic предлагают подписчикам Elasticsearch в качестве управляемого сервиса[3][4], большинство таких публично-облачных управляемых услуг также включают поддержку Kibana[5].

История

В 2004 году Шай Бейнон (Shay Banon) создал предшественника Elasticsearch — систему Compass[англ.][6]. Разрабатывая третью версию Compass, Бейнон пришёл к выводу, что для создания масштабируемой версии системы, необходимо создавать программу «с нуля», в результате в феврале 2010 года была выпущена первая версия Elasticsearch[7].

Для коммерциализации проекта Бейнон в 2012 году основал нидерландскую компанию Elasticsearch BV[8]. В июне 2014 года компания объявила о привлечении $70 млн в рамках цикла финансирования серии C, отбор проходил под руководством New Enterprise Associates (NEA), дополнительными спонсорами стали Benchmark Capital и Index Ventures, в результате раунд принёс фирме общее финансирование $104 млн[9].

В марте 2015 года компания Elasticsearch изменила свое название на Elastic[10].

Возможности

Обеспечивает горизонтально масштабируемый поиск, поддерживает многопоточность. Поисковые индексы можно разделить на сегменты, каждый сегмент может иметь несколько реплик, на каждом узле может быть размещено несколько сегментов, при том каждый узел действует как координатор для делегирования операций правильному сегменту, перебалансировка и маршрутизация выполняются автоматически. Связанные данные часто хранятся в одном и том же индексе, который состоит из одного или нескольких первичных сегментов и, возможно, нескольких реплик. После создания индекса количество первичных сегментов нельзя изменить[11].

Все функции Lucene системы доступны через прикладные интерфейсы на JSON и Java.

Другая особенность — так называемый «шлюз», обеспечивающий долгосрочное сохранение индекса; например, индекс может быть восстановлен из шлюза в случае сбоя сервера. Система поддерживает запросы GET в реальном времени. Система не поддерживает распределённые транзакции[12].

Коммерческая часть

В коммерческой версии поисковой системы реализован ряд функций, не включённых в свободный вариант программы, в том числе, ролевая модель для пользователей, механизм уведомлений пользователей о событиях в системе, движки машинного обучения и графового анализа. Платная часть поставляется в форме годовой подписки.

Примечания

  1. Release 8.13.2 — 2024.
  2. DB-Engines Ranking - popularity ranking of search engines  (неопр.). db-engines.com. Дата обращения: 10 января 2016. Архивировано из оригинала 19 октября 2018 года.
  3. Hosted Elasticsearch  (неопр.). qbox.io. Дата обращения: 16 октября 2016. Архивировано 18 октября 2016 года.
  4. Elasticsearch on IBM Cloud  (неопр.). www.bluemix.net. Дата обращения: 25 января 2017. Архивировано 2 февраля 2017 года.
  5. Elasticsearch Setup  (неопр.). ctovision.com. Дата обращения: 16 октября 2016. Архивировано из оригинала 21 августа 2018 года.
  6. Banon, Shay The Future of Compass & ElasticSearch  (неопр.). Дата обращения: 12 мая 2017. Архивировано 15 августа 2018 года.
  7. Banon, Shay You Know, for Search  (неопр.) (8 февраля 2010). Архивировано 16 января 2013 года.
  8. Immediate Insight from Data Matters  (неопр.). elastic.co. Дата обращения: 25 марта 2015. Архивировано 20 декабря 2018 года.
  9. ElasticSearch Scores $70M In Series C To Fund Growth Spurt  (неопр.). TechCrunch. AOL. Дата обращения: 25 марта 2015. Архивировано 6 июля 2017 года.
  10. Elasticsearch Changes Name to Elastic to Reflect Wide Adoption Beyond Search  (неопр.). Elastic. Дата обращения: 19 октября 2016. Архивировано 18 декабря 2018 года.
  11. How to monitor Elasticsearch performance  (неопр.). Дата обращения: 12 мая 2017. Архивировано из оригинала 18 декабря 2018 года.
  12. No transaction support  (неопр.). Elasticsearch-users.115913.n3.nabble.com (8 июля 2010). Дата обращения: 4 февраля 2014. Архивировано из оригинала 6 октября 2018 года.

Литература

  • Берримен Дж., Тарнбулл Д. Релевантный поиск с использованием Elasticsearch и Solr = Relevant Search. — ДМК-Пресс, 2018. — 408 с. — ISBN 978-5-97060-592-9.

Ссылки

  • elastic.co/products/elasticsearch — официальный сайт Elasticsearch