Elasticsearch

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

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

 Elasticsearch у Вікісховищі

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

Історія

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

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

Огляд

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

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

Приклади використання

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

Підтримка української

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

Примітки

  1. https://github.com/elastic/elasticsearch/releases/tag/v7.16.3 — 2022.
  2. Elasticsearch. www.elastic.co. Процитовано 9 лютого 2016.
  3. DB-Engines Ranking - popularity ranking of search engines. db-engines.com. Процитовано 9 лютого 2016.
  4. The Future of Compass & ElasticSearch. 27 серпня 2013. Процитовано 9 лютого 2016.
  5. Getting Started. www.elastic.co. Процитовано 9 лютого 2016.
  6. 5.1.1 Release Notes. www.elastic.co. Архів оригіналу за 20 грудня 2016. Процитовано 9 грудня 2016.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.