Різниця між solr та lucene


163

Я знаю, що Lucene та Solr - це два різних проекти Apache , які створені для спільної роботи, але я не розумію, яка мета кожного проекту.

Що я зрозумів досі, це те, що Lucene використовується для створення індексу пошуку, а Solr використовує цей індекс для пошуку. Я правий чи це зовсім інший підхід?


5
Чи не відповідає lucene.apache.org/solr (і рівнозначна для Lucene) відповідь?
NPE

Так, ти маєш рацію, сторінка з функціями solr уточнює різницю. Si Якщо я розумію, я міг би використовувати Lucene поодинці, але Solr потрібен Lucene для роботи.
darkheir

2
На відміну від Lucene, Solr - це веб-додаток (WAR), який можна розгорнути в будь-якому контейнері сервлетів, наприклад, Jetty, Tomcat, Resin тощо. Solr може бути встановлений і використаний непрограмістами. Люцен не може. Більше на lucenetutorial.com/lucene-vs-solr.html
Lucky

Відповіді:


229

@darkheir: Lucene та Solr - це два різних проекти Apache, які створюються для спільної роботи, я не розумію, яка мета кожного проекту.

1) Солр використовує люцена під кришкою. Lucene не має поняття про API Solr.

2) Lucene - це потужна основа пошукової системи, яка дозволяє нам додавати можливості пошуку до нашого додатку. Він відкриває простий у користуванні API, приховуючи всі складні операції, пов'язані з пошуком. Будь-яка програма може використовувати цю бібліотеку, не тільки Solr.

3) Солр побудований навколо Люцена. Це не просто http-обгортка навколо Lucene, але , як відомо, додає більше арсеналу Lucene . Solr готова до використання поза коробкою. Це веб-додаток, який пропонує відповідну інфраструктуру та багато інших функцій на додаток до того, що пропонує Lucene.

@darkheir: Lucene використовується для створення індексу пошуку, а Solr використовує цей індекс для здійснення пошуку. Я правий чи це зовсім інший підхід?

4) Люцен не просто створює індекс споживання Solr . Lucene обробляє всі пошукові операції. Будь-яка програма може використовувати рамки Lucene.

Прикладами є Solr, Elastic Search, LinkedIn (так, під кришкою) тощо.

Перегляньте цю статтю: Lucene vs Solr

ОНОВЛЕННЯ (18.06.14)

Коли користуватися Люценом?

  • Ви пошуковий інженер І
  • Ви програміст І
  • Ви хочете повного контролю над усіма внутрішніми процесами Lucene AND
  • Ваші вимоги вимагають, щоб ви виконували всілякі налаштування настрою під Lucene AND
  • Ви готові подбати про інфраструктурні елементи пошуку, такі як масштабування, розповсюдження тощо.

Коли використовувати Solr?

  • Принаймні одне з перерахованих вище не мало сенсу. АБО
  • Ви хочете щось, що готово використовувати нестандартно (навіть без знання Java) АБО
  • Ваші вимоги до інфраструктури перевищують вимоги щодо налаштування пошуку.

ПРИМІТКА . Я не маю на увазі, що Solr важко налаштувати. Solr дуже гнучка і забезпечує безліч підключуваних точок API, що дозволяє вводити код.

Є люди, які потрапляють під табір " Люцена ", але все ж віддають перевагу Солру простому люцену, оскільки це просто. Однак вони ніколи не стримуються від максимальної можливості налаштування Solr.

До речі, я бачу, що в Solr (4.x) ресурсів більше, ніж у Lucene (4.x).


31

Lucene - це бібліотека Java низького рівня (з портами до .NET тощо), яка реалізує індексацію, аналіз, пошук тощо.

Solr - це окремий попередньо налаштований продукт / webapp, який використовує люцен. Якщо ви віддаєте перевагу спілкуванню з HTTP API замість Java API, Solr - це для вас. Solr також має деякі додаткові функції зверху (наприклад, групування ).


21

Простий спосіб зрозуміти взаємозв'язок між Solr та Lucene - це автомобіль та його двигун. Ви не можете керувати двигуном, але ви можете керувати автомобілем. Аналогічно, Lucene - це програмна бібліотека, яку ви не можете використовувати як є, тоді як Solr - це повне додаток, яке ви можете використовувати нестандартно.

Джерело: Lucene-vs-solr - Підручник з люцена


5
Яке копіювання вставлено з lucenetutorial.com/lucene-vs-solr.html Будь ласка, згадуйте джерело кожного разу, коли ви копіюєте відповідь, вказуючи джерело. ;)
Пощастило

1
Здається, сторінка зараз офлайн.
dev_feed

15

Solr побудований на вершині люцену, щоб забезпечити пошукову платформу.

Шукайте платформу в наступних шарах знизу вгору:

  • Дані
    • Призначення: представляти різні типи даних та джерела
  • Будівництво документів
    • Призначення: побудувати інформацію про документ для індексації
  • Індексація та пошук
    • Призначення: побудова та запит на індекс документа
  • Вдосконалення логіки
    • Призначення: додаткова логіка для обробки пошукових запитів та результатів
  • Сервіс пошуку платформи
    • Мета: Додайте додаткові функціональні можливості ядра пошукової системи для надання сервісної платформи.
  • Застосування інтерфейсу користувача
    • Призначення: пошуковий інтерфейс або програми для кінцевих користувачів

solr stack

Довідкова стаття: Пошук підприємств


12

SOLR - обгортка над індексом люцена.

Це зрозуміти просто: SOLR - це машина, а Lucene - її двигун . Вам просто потрібно знати, як керувати автомобілем (SOLR), а також потрібно знати кілька речей двигуна (люцена) на випадок, якщо в двигуні вашого автомобіля виникнуть якісь проблеми.

Майте безпечний привід :)


3
Не кажучи вже про те, що якби ви були настільки схильні, ви могли б створити власний автомобіль за допомогою люценового двигуна.
hintss

1

Ви можете уявити це наступним чином - Apache Lucene - це бібліотека, яка внутрішньо використовується Apache Solr. Він написаний на Java і забезпечує дивовижні повнотекстові можливості пошуку та індексації. Він може проаналізувати велику кількість мов з усього світу та підготувати текст такими мовами до ефективного та швидкого пошуку та аналізу. Lucene - це бібліотека - ви можете використовувати її безпосередньо у своїй програмі та реалізовувати все самостійно, але Apache Solr надає багато поза рамками.

Пошукова система Apache Solr надає такі речі, як API HTTP, за допомогою яких ви можете надсилати дані та пізніше шукати їх. Ви можете керувати пошуковими системами за допомогою API, створювати розподілене середовище та автоматично розподіляти дані по декількох вузлах та багато-багато інших.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.