Я знаю, что Lucene и Solr - это два разных проекта Apache , которые созданы для совместной работы, но я не понимаю, какова цель каждого проекта.
Я понял до сих пор, что Lucene используется для создания поискового индекса, а Solr использует этот индекс для выполнения поиска. Я прав или это совершенно другой подход?
Ответы:
@darkheir: Lucene и Solr - два разных проекта Apache, которые созданы для совместной работы, я не понимаю, какова цель каждого проекта.
1) Solr использует Lucene под капотом. Lucene не имеет ни малейшего представления о Solr API.
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
ОБНОВЛЕНИЕ (18.06.14)
Когда использовать Lucene?
Когда использовать Solr?
ПРИМЕЧАНИЕ : я не имею в виду, что Solr сложно настроить. Solr очень гибок и предоставляет множество подключаемых точек API, что позволяет вам добавить свой код.
Есть люди, попадающие в лагерь « должны использовать Lucene », но все же предпочитают Solr обычному Lucene, поскольку его легко использовать. Тем не менее, они никогда не сдерживают себя от настройки Solr в максимальной степени.
Кстати, я вижу, что в Solr (4.x) больше ресурсов, чем в Lucene (4.x).
источник
Lucene - это низкоуровневая библиотека Java (с портами для .NET и т. Д.), Которая реализует индексирование, анализ, поиск и т. Д.
Solr - это отдельный предварительно настроенный продукт / веб-приложение, в котором используется Lucene. Если вы предпочитаете работать с HTTP API вместо Java API, Solr для вас. У Solr также есть некоторые дополнительные функции (например, группировка ).
источник
Источник: Lucene-vs-solr - Lucene Tutorial
источник
Solr построен на основе Lucene, чтобы обеспечить поисковую платформу.
Поиск платформы в следующих слоях снизу вверх:
Справочная статья: Поиск предприятия
источник
SOLR - это оболочка над индексом Lucene.
Это легко понять: SOLR - это автомобиль, а Lucene - это его двигатель . Вам просто нужно знать, как водить автомобиль (SOLR), а также нужно знать кое-что о двигателе (Lucene) на случай, если возникнут какие-либо проблемы с двигателем вашего автомобиля.
Счастливого пути :)
источник
Вы можете представить это следующим образом - Apache Lucene - это библиотека, которая используется внутри Apache Solr. Он написан на Java и предоставляет потрясающие возможности полнотекстового поиска и индексации. Он может анализировать большое количество языков со всего мира и подготавливать текст на таких языках для эффективного и быстрого поиска и анализа. Lucene - это библиотека - вы можете использовать ее непосредственно в своем приложении и реализовывать все самостоятельно, но Apache Solr предоставляет многое из коробки.
Поисковая система Apache Solr предоставляет такие вещи, как HTTP API, которые вы можете использовать для отправки данных и последующего поиска по этим данным. Вы можете управлять поисковыми системами с помощью API, создавать распределенные среды и автоматически распределять данные по нескольким узлам и многим, многим другим.
источник
Вы можете найти хорошее сравнение о назначении люценции и солнечной энергии здесь:
http://www.lucenetutorial.com/lucene-vs-solr.html
TLDR: Lucence - это просто двигатель, Solar - это машина, на которой вы можете ездить (оснащена rest-api и т. Д.)
источник