Я знаю, що ElasticSearch побудований на Apache Lucene, але я хочу знати істотні відмінності між ними.
Я знаю, що ElasticSearch побудований на Apache Lucene, але я хочу знати істотні відмінності між ними.
Відповіді:
Lucene - бібліотека Java . Ви можете включити його у свій проект та посилатися на його функції за допомогою викликів функцій.
Elasticsearch є JSON Based, Розподілена , веб - сервер побудований на Lucene. Хоча саме Lucene виконує справжню роботу внизу, Elasticsearch забезпечує нам зручний шар над Lucene. Кожен осколок, який буде створений у Elasticsearch, є окремим люценовим екземпляром. Отже, підсумовуючи
Окрім слів @Vineeth Mohan :
Висока доступність: Elasticsearch поширюється, щоб він міг керувати реплікацією даних, а це означає мати кілька копій даних у вашому кластері. Це забезпечує високу доступність.
Потужний запит DSL : Elasticsearch пропонує нам інтерфейс JSON для читання та запиту запитів на вершині Lucene. Завдяки Elasticsearch ви можете писати складні запити, не знаючи синтаксису люцена.
Без схеми (без схем): поля (ім'я, пари значень) для schema
не повинні визначатися раніше. Коли індексуєш дані, еластичний пошук може автоматично створювати схему під час виконання, як магія.
Я відповім з точки зору використання.
Lucene - бібліотека пошукових систем . Ви хочете використовувати його для створення власної пошукової системи: або нового конкурента Elasticsearch, або Solr, або щось вузьке для вашого випадку використання (наприклад, аналіз тексту).
Elasticsearch - пошукова система . Більшість людей використовують його для агрегації журналів, пошуку продуктів або варіанту цих двох (наприклад, аналіз соціальних медіа або пошук відповідних людей за деякими критеріями пошуку). Він побудований на вершині люцена, тому він розкриває більшість (хоча і не всі) своїх особливостей . Це також додає багато іншого, а саме: