Разница между солром и люценом

Я знаю, что 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 и т.д.).