Elasticsearch

Elasticsearch
Тип Пошуковий індекс
Автор Shay Banond
Розробник Shay Banon
Стабільний випуск 6.1.2 (16 січня 2018)
Платформа віртуальна машина Java
Операційна система Багатоплатформність
Мова програмування Java
Ліцензія Apache License
Репозиторій github.com/elastic/elasticsearch
Вебсайт www.elastic.co/products/elasticsearch

Elasticsearch — вільне програмне забезпечення, пошуковий сервер, розроблений на базі Lucene. Надає розподілений, багатоклієнтський[en] повнотекстовий пошуковий рушій з HTTP вебінтерфейсом і підтримкою безсхемних JSON документів.[1]

Є найпопулярнішим пошуковим рушієм, випереджаючи Apache Solr. Розробляється на Java і випускається під ліцензією Apache License.[2]

Історія[ред. | ред. код]

Elasticsearch є продовженням проєкту Compass, значну частину якого було переписано задля підтримки масштабовності (Compass — пошуковий рушій на базі Lucene, розроблявся Шейєм Беноном в 2004—2009 роках)[3].

Перший випуск Elasticsearch (версія 0.4) відбувся у лютому 2010.

Огляд[ред. | ред. код]

Elasticsearch може використовуватись для індексування та пошуку будь-яких типів документів. Він надає масштабовний пошук, має пошук близький до реального часу і підтримку мультиарендності.

Elasticsearch має можливість розподілення, індекси можуть бути розділені на сегменти, при чому кожен сегмент може мати нуль чи більше реплік. Кожен вузол містить один чи більше сегментів і діє як координатор делегування операцій на потрібний сегмент. Балансування та маршрутизація виконується автоматично.

Приклади використання[ред. | ред. код]

  • Реалізація внутрішнього пошуку на вебсайті, наприклад пошук товарів в інтернет-магазині. В цьому випадку Elasticsearch індексує каталоги товарів, та надає можливості пошуку та припущення щодо автозаповнення.
  • Зберігання журналів подій чи транзакцій, аналізування і добування даних для отримання тенденцій, статистик, висновків, аномалій. В даному випадку можна використовувати Logstash для збору, об'єднання, аналізу даних, і потім перенаправляти ці дані в Elasticsearch для подальшого опрацювання.
  • Для розробки, наприклад, платформи для цінового оповіщення, що дозволяє досвідченим в цій сфері користувачам визначати правила типу «Я зацікавлений в придбанні електронного ґаджету XXX і я хочу бути оповіщеним якщо ціна у будь-якого постачальника впаде нижче XXX протягом наступного місяця». В даному випадку можна збирати ціни, індексувати їх в Elasticsearch і використовувати функцію зворотнього пошуку: зіставляти коливання цін з запитом користувача і при відповідності до запиту надсилати сповіщення.
  • Для впровадження аналітики/Бізнес-аналітики у проєкт, коли треба швидко досліджувати, аналізувати, візуалізувати надзвичайно великі об'єми даних (мільйони чи мільярди записів). У цьому разі доцільно використання Elasticsearch для збереження даних і Kibana для побудови користувацьких панелей відображення і візуалізації необхідних аспектів. До того ж, можна використовувати агрегаційні функції Elasticsearch для здійснення комплексної бізнес-аналітики даних.[4]

Підтримка української[ред. | ред. код]

У версії 5.1.1 додано підтримку української через аналізатор української мови в Apache Lucene[5].

Примітки[ред. | ред. код]

  1. Elasticsearch. www.elastic.co. Архів оригіналу за 21 вересня 2015. Процитовано 9 лютого 2016.
  2. DB-Engines Ranking - popularity ranking of search engines. db-engines.com. Архів оригіналу за 19 жовтня 2018. Процитовано 9 лютого 2016.
  3. The Future of Compass & ElasticSearch. 27 серпня 2013. Архів оригіналу за 27 серпня 2013. Процитовано 9 лютого 2016.
  4. Getting Started. www.elastic.co. Архів оригіналу за 17 лютого 2016. Процитовано 9 лютого 2016.
  5. 5.1.1 Release Notes. www.elastic.co. Архів оригіналу за 20 грудня 2016. Процитовано 9 грудня 2016.

Посилання[ред. | ред. код]