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

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

10 ответов


ни один из проектов в семействе 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 имеет servelet, который дает вам интерфейс поиска.

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


Поисковое Устройство Googlehttp://www.google.com/enterprise/gsa/


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


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

зачем заново изобретать колесо. Снова.


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

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

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


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


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

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


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