Как интегрировать поиск в базе данных с поиском в формате PDF в веб-приложении? - PullRequest
1 голос
/ 17 мая 2011

У меня есть веб-приложение jsp с пользовательской поисковой системой.

Поисковая система в основном построена на основе таблицы «документы» базы данных SQL Server.

В качестве примеракаждая запись документа имеет три поля:

  • идентификатор документа
  • «описание» (текстовое поле)
  • «вложение», путь к файлу PDF вфайловая система.

Поисковая система фактически ищет ключевые слова в поле описания и возвращает список результатов на HTML-странице.Теперь я хочу искать ключевые слова даже в содержимом файла pdf.

Я занимаюсь расследованием Lucene, Tika, Solr, но я не понимаю, как я могу использовать эти рамки для своей цели.

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

Существуют ли лучшие альтернативы?Могу ли я использовать функции индексации Solr / Lucene как интеграцию поисковой системы на основе SQL, а не как ее полную замену?

Спасибо

1 Ответ

3 голосов
/ 17 мая 2011

Я бы посчитал, что Lucene полностью независим от базы данных SQL, т. Е. Вы не будете использовать SQL / jdbc / любую базу данных для запросов к Lucene, а будете иметь собственный API и свое собственное хранилище данных.

Конечно, вы можете использовать Tika, чтобы извлечь полный текст файла PDF, сохранить его и использовать все, что предоставляет ваша БД SQL.возможность полнотекстового поиска.

Если вы используете Hibernate, Hibernate Search - это фантастический продукт, который объединяет как хранилище SQL, так и Lucene.Но вам придется пойти по пути Hibernate / JPA, что может оказаться излишним для вашего проекта.

...