Как нам создать простую поисковую систему, используя Lucene, Solr или Nutch?

StackOverflow https://stackoverflow.com/questions/223536

  •  03-07-2019
  •  | 
  •  

Вопрос

Наша компания имеет тысячи документов в формате PDF. Как нам создать простую поисковую систему, используя Lucene, Solr или Nutch? Мы предоставим базовую веб-страницу на Java / JSP, где люди могут вводить слова и выполнять базовые и / или запросы, а затем показывать им ссылки на документы всех соответствующих PDF-файлов.

Это было полезно?

Решение

Ни один из проектов семейства Lucene не может обрабатывать PDF-файлы естественным образом, но есть полезные утилиты и хорошо написанные примеры того, как создавать свои собственные.

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

Тем не менее, я бы по-прежнему рекомендовал взглянуть на Solr - его намного, гораздо проще настроить, чем Lucene, имеет поддержку резервного копирования, репликации и т. д., а также отличный интерфейс JSON, который очень хорошо подошел бы для вашего варианта использования. : http://wiki.apache.org/solr/SolJSON

Другие советы

Мне повезло с lucene, но это не щелчок, установка и поиск, это требует немного работы.
Если вам нужно что-то, что вы можете загрузить, установить и выполнить поиск в течение 10 минут, посмотрите бесплатную версию Ominifind Yahoo Edition http : //omnifind.ibm.yahoo.net/ , он использует Lucene, но упакован таким образом, что он настроен и готов к запуску после установки - гораздо более простой способ попробовать Lucene.

Плагин Nutch + Lucene + Pdf, включенный в Nutch, - это ваше решение. Nutch позволяет вам анализировать PDF, включив плагин PDF.

Lucene позволит вам индексировать просканированные и проанализированные данные, а у Nutch есть сервлет, который предоставляет вам интерфейс поиска.

Мы используем то же самое для наших внутренних сетей.

Я думаю, вы хотите, чтобы система управляла вашим файлом PDF. Пожалуйста, попробуйте использовать систему dspace. Dspace - это цифровая библиотека, на основе которой поддерживается Lucene. www.dspace.org.

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

Зачем заново изобретать колесо. Опять же.

Ответить на такой широкий вопрос на этом форуме будет сложно. Я бы порекомендовал вам почитать книгу Lucene in Action , охватывает основы индексации и поиска довольно читабельным способом.

Учитывая ваше приложение, похоже, что Nutch и Solr, вероятно, не понадобятся. Поскольку все ваши документы доступны локально, Nutch, вероятно, не поможет. Solr может помочь вам управлять кластером поисковиков, если у вас высокая нагрузка на запрос, но Lucene обладает высокой производительностью и обрабатывает большие наборы документов очень масштабируемым образом.

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

Отличная бесплатная поисковая технология - IBM Yahoo! бесплатный поиск. Я не уверен, выполнили ли они планы по использованию Lucene под прикрытием, но он по-прежнему остается одним из самых замечательных способов использования бесплатных технологий поиска. Я считаю, что он обрабатывает до 500 тыс. Документов, а также поддерживает PDF и другие нетекстовые форматы. Графический пользовательский интерфейс; легко настроить результаты поиска и базовую аналитику поиска. Базовый тезаурус и мощный API, так что вы можете делать практически все, что хотите, если результаты из коробки вам не по вкусу. Мы предложили это ряду клиентов, у которых было менее полумиллиона документов, и им это нравится.

Если у вас есть сервер Linux, вы можете использовать Beagle для их индексации, а затем просто используйте функцию поиска, которая идет с ним. Он имеет (экспериментальный) интерфейс веб-поиска, и его также можно подключить к окну поиска FireFox.

Он автоматически индексирует файлы по мере их включения, и я подозреваю, что вам будет гораздо эффективнее улучшать или исправлять beagle, чем писать свой собственный интерфейс поиска в Lucene.

Имея (imho) явное преимущество на Mac, я использую SearchLight на несколько старшей G5. красивый веб-интерфейс для внимания, встроенная в Mac OS служба индексирования.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top