Объединить два XML-документа (один и тот же основной текст, разные теги) для индексации в Lucene - PullRequest
0 голосов
/ 16 октября 2010

Я создаю веб-приложение для поиска (многофункциональное приложение), которое предназначено для поиска по некоторым историческим документам.Эти документы имеют свою структуру.Я использую lucene 3.x для создания поисковой системы и т. Д.

До сих пор я создал свой собственный анализатор и класс SimpleToken для своих нужд.Так в чем же проблема?

Проблема в том, что у меня есть три разных файла, представляющих один и тот же документ.Один файл - это оригинальный документ, простой текст без разметки.Два других представляют собой документы, помеченные XML, один представляет топографическую структуру документа (то есть это исходный документ плюс теги для представления структуры самого себя), а другой представляет нумерацию и столбцы документа (еще раз, исходный документ плюс теги для разделениятекст на страницы и столбцы).Объединить эти два XML-документа в один чрезвычайно сложно и запутанно, файлы действительно большие (более 50 000 строк).Дело в том, что мне действительно нужна информация обоих XML-документов ..

С учетом сказанного, что, по вашему мнению, является лучшим подходом для индексации всего материала?У меня нет опыта работы с люценом, на самом деле я впервые работаю над этим.Сначала я должен знать, как я собираюсь получить текст из документов (возможно, какой-нибудь XML-парсер?), И как я собираюсь объединить информацию отмеченных документов.Как вы думаете, я должен создать два индекса, по одному для каждого помеченного документа, а затем каким-то образом объединить эти индексы?Мне действительно нужна некоторая ориентация.

1 Ответ

1 голос
/ 18 октября 2010

Я бы работал в обратном направлении: что они будут искать? Предположительно, если ваш xml имеет что-то вроде <domain>blah</domain>, поиск «бла» должен иметь больший вес (поскольку совпадение в домене «стоит больше», чем совпадение в теле).

Тем не менее, такие вещи, как номер страницы? Я сомневаюсь, что кто-то собирается провести поиск, в котором это имеет значение.

Так что я бы просто использовал первый, который имеет разметку о домене (если мои предположения о том, что важно для пользователей, верны). Tika - это библиотека, предназначенная для извлечения данных из файлов различных типов (включая XML) и помещения их в Lucene.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...