Commons Digester: Как создавать сложные запросы на основе XML с помощью Apache Lucene?

Мне нужно построить запрос на основе XML с Apache Lucene и Commons Digester.

Мои документы имеют этот формат:

<doc>
<id>361492799</id>
<title>Dan1</title>
<description>We had another Flickr meetup in Rochester, the biggest that Ive been to. 12 people showed up.Da, he was to the right.</description>
<time>18934934</time>
<tags>flickrmeetup rochester dan totheright 200701</tags>
<geo><latitude>324234</latitude><longitude>28342349</longitude></geo>
<event>135961</event>
</doc>

И запрос на самом деле также является документом, который мне нужно сравнить со всей коллекцией. Каждый атрибут имеет различную метрику сходства. Например, "описание" имеет косинусное сходство tf-idf. "Время" - это просто разница, а "широта" + "долгота" сравниваются с использованием расстояния хаверсин.

Пока что я выполнял поиск только с помощью простых текстовых запросов, таких как "word1 word2". Как я могу построить более сложные запросы вместо этого?

Спасибо

2 ответа

Решение

Мне нужно построить запрос на основе XML с Apache Lucene и Commons Digester.

Эта статья должна помочь вам начать

для анализа содержимого из XML, посмотрите на TIKA

Apache Tika - инструментарий анализа контента

Apache Tika™ - это набор инструментов для обнаружения и извлечения метаданных и структурированного текстового содержимого из различных документов с использованием существующих библиотек синтаксического анализатора.

Вы смотрели на SOLR? SOLR - это, в основном, Lucene+ целый сервер запросов и индексации на основе XML.

Другие вопросы по тегам