Поисковая система - Lucene или Solr

Как младший программист самостоятельно, я думал, что идентификатор показывает то, на что он был похож, когда я оказался в аналогичной ситуации Вашему младшему разработчику.

, Когда я сначала вышел из uni, я нашел, что он имел severly ООН, снабдил меня для контакта с реальным миром. Да я знал некоторые основы JAVA, и некоторая философия (не спрашивайте), но это было об этом. Когда я сначала получил свое задание, это было немного укрощения по меньшей мере. Позвольте мне сказать Вам, что я был, вероятно, одним из крупнейших ковбоев вокруг, я взломаю вместе немного исправления ошибки / алгоритм без комментариев / тестирующий / документация и поставлю его наружу.

мне повезло являться объектом контроля видом и очень терпеливый главный программист. К счастью для меня, он решил сесть со мной и провести 1-2 недели, пройдя мой очень взломанный, вместе кодируют. Он объяснил бы, где я пошел не так, как надо, тонкости c и указателей (мальчик сделал, которые смущают меня!). Нам удалось записать довольно достойный класс/модуль приблизительно через неделю. Все, что я могу сказать, - то, что, если бы старший dev не инвестировал время для помощи мне вдоль правильного пути, я, вероятно, не продержался бы очень долго.

Счастливо, 2 года по линии, я надеялся бы, что некоторые мои коллеги могли бы даже считать меня средним программистом.

Забирают домой точки

  1. , Большинство Университетов очень плохо при подготовке студентов для реального мира
  2. , Парное программирование действительно помогло мне. Но это вовсе не значит то, что это поможет всем, но это работало на меня.
52
задан Vikram 9 September 2009 в 06:08
поделиться

6 ответов

Я должен согласиться с Эндрю Клеггом. Я думаю, что когда многие типы Java-разработчиков смотрят на Lucene и Solr, Lucene выглядит более дружелюбным, потому что это просто библиотека (POJJ: Plain Old Java Jar!), Как и любая другая библиотека, и ее легко встраивать, по сравнению со сложностью рассматривать Solr как отдельный процесс, взаимодействующий по сложному протоколу HTTP.

Однако я думаю, что почти для всех случаев использования поиска Solr - правильный подход. Потому что большая часть сложности в поиске связана не с прямой начальной интеграцией, а с нечеткими областями настройки поиска, масштабирования для удовлетворения спроса и поддержания ваших индексов, которые переходят из мира, ориентированного на разработчиков, в мир систем. И Solr прекрасно справляется со всеми этими потребностями.

18
ответ дан 7 November 2019 в 09:30
поделиться

Как говорит dcruz, Solr в любом случае использует Lucene, так что это некорректное сравнение.

Lucene - это набор инструментов для создания приложений для поиска, Solr - это приложение для поиска, созданное на Lucene.

ИМО, вы бы сошли с ума , а не , чтобы использовать Solr, поскольку он предоставляет вам множество «сантехники», которую вам пришлось бы написать самостоятельно в противном случае - например, настраиваемый обработчик импорта данных для извлечения данных из вашей СУБД или XML-репозиториев.

Кроме того, он дает вам интерфейс веб-администратора и другие навороты.

6
ответ дан 7 November 2019 в 09:30
поделиться

Мы точно в той же ситуации, что и вы. К сожалению, я не принимал непосредственного участия в процессе оценки, но в конце мы собираемся использовать Solr, интегрированный с Lucene.

Основным преимуществом является разнообразие форматов, описанных в dcruz. Таким образом, вы можете запросить свой Solr-Consumer и получить результат поиска в виде XML-данных, которые можно легко проанализировать и отобразить на веб-странице.

1
ответ дан 7 November 2019 в 09:30
поделиться

Lucene:

Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search

Solr:

Solr is an open source enterprise search server based on the Lucene Java search library, with XML/HTTP and JSON APIs, hit highlighting, faceted search, caching, replication, a web administration interface and ...

Essentially, Lucene is embedded in Solr and is purely a full-text search library, with the purpose of being embedded into projects giving them full-text search capabilities. Solr has much more features and administration capabilities, allowing to search structured data without needing to write any custom code, load data from CSV files, tolerant parsing of user input, faceted searching, highlighting matched text in results, and retrieving search results in a variety of formats (XML, JSON, ...) . Check Solr features page and see if any feature is relevant for your project.

41
ответ дан 7 November 2019 в 09:30
поделиться

Позвольте мне немного сместить ваше внимание: готовы ли вы к изменениям в архитектуре вашего продукта? И Lucene, и Solr реализованы на Java. Таким образом, у вас будет запущен еще один веб-контейнер для его размещения (и, следовательно, вы потеряете чистоту платформы, так сказать). Хотя Lucene был перенесен на .NET ( проект Lucene.NET ), Насколько я знаю, Соль не было. Если вы используете SQL Server (что вполне вероятно, учитывая вашу платформу), вы можете вместо этого рассмотреть полнотекстовый поиск SQL Server - он имеет почти те же функции (не такие многофункциональные, как Lucene / Solr, но в любом случае) и обычно (в большинстве случаев) гораздо проще включить в существующее приложение. Кроме того, вы получаете выгоду от упрощенного обслуживания (оно идет вместе с вашей базой данных) и использования единой платформы.

1
ответ дан 7 November 2019 в 09:30
поделиться

Следует учитывать, насколько сложно будет настроить приложение при смешивании этих двух сред (Java / .NET). Если вы используете библиотеки Lucene.NET, вы можете ограничить необходимые установки внешних зависимостей, что упрощает развертывание.

Еще одна вещь, которую следует учитывать, - нужны ли вам дополнительные услуги, которые предлагает Solr? (Другой) интерфейс веб-администратора, вероятно, хорош, но он расширяет ваш диапазон рисков. Отказ от Java и другой службы означает большее количество исправлений. Если вы придерживаетесь .NET, только ваша стратегия исправлений может быть стандартной моделью обновления Windows.

Конечно, развертывание вашей реализации с использованием Lucene.NET потребует собственных затрат на разработку и сопровождение, но, по моему опыту, это было прямолинейно и с ним легко работать.

2
ответ дан 7 November 2019 в 09:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: