Поиск люцена
Уважаемые разработчики StackOverFlow! Я хочу от вас помощи. Я застрял в Apache Lucene для использования в приложении Java Swing. Проблема настолько сложна, что даже я запутался, как мне ее спросить. Пожалуйста, постарайтесь понять, каково мое действительное требование. Дело в том, что мне просто нужно предоставить HTML-файлы, чтобы клиент мог получить к ним доступ в приложении Swing, а для поиска я решил использовать индексирование Apache Lucene. это предоставляет мне средство поиска, но теперь я хочу отобразить данные файла html, которые соответствуют критериям поиска. В Java API я использую качели для него, и JEditorPane является элементом управления, в котором я должен отображать содержимое HTML-файла. Подскажите, пожалуйста, как мне индексировать html-файлы и как мне возвращать содержимое html-файлов из индекса lucene. html-файлы не только содержат только текст, но также имеют ссылки, изображения и т. д.
заранее спасибо в надежде на помощь от вас
1 ответ
В одном из наших проектов, где мы использовали Lucene для полнотекстовой индексации и поиска, мы обрабатывали файлы HTML следующим образом:
- Документ HTML хранится как есть на диске (вы также можете хранить его в БД).
- Используя конвертер HTML->Text Jericho HTMLParser, мы извлекли текст, ссылки и т. Д. Из документов HTML.
- У документа lucene есть атрибуты, которые хранят метаданные о файле HTML отдельно от текстового содержимого в HTML в формате токена.
- Использовал StandardAnalyzer для хранения определенных токенов, таких как электронная почта, ссылки на веб-сайты, как есть во время процесса токенизации перед индексацией.
- При поиске по индексу возвращенные хиты содержали метаданные файлов HTML, которые соответствовали критериям. Таким образом, мы смогли идентифицировать контент HTML, который будет отображаться для данного результата поиска.
НТН.