Разница между солром и люценом
Я знаю, что Lucene и Solr - это два варианта проекты Apache, которые созданы для совместной работы, но я не понимаю, какова цель каждого проекта.
До сих пор я понял, что Lucene используется для создания индекса поиска, а Solr использует этот индекс для выполнения поиска.
Я прав, или это совершенно другой подход?
Ответы
Ответ 1
@darkheir: Lucene и Solr - это два варианта проектов Apache, которые созданы для совместной работы, я не понимаю, какова цель каждого проекта.
1) Solr использует Lucene под капотом. Lucene не имеет понятия о API Solr.
2) Lucene - это мощная среда поисковой системы, которая позволяет нам добавлять возможности поиска в наше приложение. Он предоставляет простой в использовании API, скрывая все связанные с поиском сложные операции. Любое приложение может использовать эту библиотеку, а не только Solr.
3) Solr построен вокруг Lucene. Это не просто http-обертка вокруг Lucene, но известно добавить больше арсенала в Lucene. Solr готов к работе из коробки. Это веб-приложение, которое предлагает связанную инфраструктуру и множество дополнительных функций в дополнение к тому, что предлагает Lucene.
@darkheir: Lucene используется для создания индекса поиска, а Solr использует этот индекс для выполнения поиска. Я прав, или это совершенно другой подход?
4) Lucene не просто создает индекс для потребления Solr. Lucene обрабатывает все операции, связанные с поиском. Любое приложение может использовать инфраструктуру Lucene.
Примерами являются Solr, Elastic Search, LinkedIn (да, под капотом) и т.д.
Ознакомьтесь с этой статьей: Lucene vs Solr
ОБНОВЛЕНИЕ (6/18/14)
Когда использовать Lucene?
- Вы ищете инженера AND
- Вы программист AND
- Вам нужен полный контроль над всеми внутренними компонентами Lucene AND
- Ваши требования требуют, чтобы вы делали всевозможные подкованные настройки Lucene AND
- Вы готовы позаботиться об элементах инфраструктуры вашего поиска, таких как масштабирование, распространение и т.д.
Когда использовать Solr?
- По крайней мере одно из вышеизложенных вопросов не имеет смысла. ИЛИ
- Вам нужно что-то готовое для использования готовых (даже без знания Java) OR
- Требования к инфраструктуре перевешивают требования к настройке поиска.
Примечание:
Я не хочу сказать, что Solr сложно настроить. Solr очень гибкий и предоставляет множество подключаемых точек API, что позволяет вам вводить код.
Есть люди, которые подпадают под "лагерь Луцен", но по-прежнему предпочитают Solr простой Lucene, поскольку он прост в использовании. Тем не менее, они никогда не сдерживают себя от настройки Solr в максимальной степени.
Кстати, я вижу, что на Solr (4.x) больше ресурсов, чем Lucene (4.x).
Ответ 2
Lucene - это низкоуровневая библиотека Java (с портами .NET и т.д.), которая реализует индексирование, анализ, поиск и т.д.
Solr - это автономный предварительно сконфигурированный продукт /webapp, который использует Lucene. Если вы предпочитаете использовать HTTP API вместо Java API, Solr для вас. Solr также имеет некоторые дополнительные функции сверху (например, группировка).
Ответ 3
Простой способ концептуализации отношений между Solr и Lucene это автомобиль и его двигатель. Вы не можете управлять движком, но вы может управлять автомобилем. Аналогично, Lucene - это программная библиотека, которую вы не может использовать as-is, тогда как Solr - это полное приложение, которое вы можете используйте "из коробки".
Источник: Lucene-vs-solr - Учебник Lucene
Ответ 4
SOLR - это обертка по индексу Lucene.
Проще понять:
SOLR автомобиль, а Lucene - его двигатель. Вам просто нужно знать, как управлять автомобилем (SOLR), а также знать несколько вещей двигателя (Lucene) в случае, если в вашем автомобиле будет какая-то проблема.
У вас есть безопасный диск:)
Ответ 5
Solr построен на вершине lucene для обеспечения поисковой платформы.
Поиск платформы в следующих слоях снизу вверх:
- Данные
- Назначение: представление различных типов данных и источников
- Здание документа
- Назначение: сбор информации документа для индексирования
- Индексирование и поиск
- Назначение: создание и запрос индекса документа
- Улучшение логики
- Назначение: дополнительная логика для обработки поисковых запросов и результатов
- Служба поисковой платформы
- Назначение: добавьте дополнительные функциональные возможности ядра поисковой системы для предоставления сервисной платформы.
- Приложение пользовательского интерфейса
- Цель: интерфейс или приложения для поиска конечных пользователей.
![solr stack]()
Ссылка: Поиск предприятия
Ответ 6
Здесь вы можете найти хорошее сравнение о целях люксуенности и солнечности:
http://www.lucenetutorial.com/lucene-vs-solr.html
TL;DR: Lucence - это просто двигатель, Solar - это автомобиль, которым вы можете управлять (оснащенный rest-api и т.д.).