Индексирование XML-документов структурированных наборов данных в Solr/lucene

Я пытаюсь использовать Solr для индексирования небольшого набора данных XML-документов, пример XML здесь:

<?xml version='1.0' encoding='utf-8'?>
<doc xmin = 0, xmax = 9.233174603174604>     
<title>John speech</title>
<description>shjshksjcjslkclsjk </description>
<uploaded_time>03/14/2010 08:44 PM</uploaded_time>
<likes>84906</likes>
<tier name="words">
<trans   xmin="0.0"  xmax="0.8325873015873018">silent</trans>
<trans   xmin="0.8325873015873018"   xmax="1.9564232192938984">Hi</trans>
<trans   xmin="1.9564232192938984"   xmax="3.874938884654082">I</trans>
<trans   xmin="3.874938884654082"    xmax="4.940780920965295">am</trans>
<trans   xmin="4.940780920965295"    xmax="6.495133890585815">John</trans>
:
:
</tier>
<doc>

Является ли этот тип вложенных тегов XML индексируемым Solr? Я попробовал DataImportHandler с solrconfig.xml! и это xml-data-config.xml! (не уверен в его правильности, пока не имею четкого понимания того, как обращаться с вложенным xml, особенно для неопределенной длины уровня)

Но, пытаясь сделать импорт данных, я получаю:

Индексирование... Запросов: 0, Получено: 0, Пропущено: 0, Обработано: 0

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

Чего мне не хватает??

1 ответ

Решение

В моих файлах конфигурации было много ошибок. Основная проблема заключалась в том, что мне пришлось использовать "XPathEntityProcessor" в качестве процессора для объекта источника данных XML-файлов вместо TikaEntityProcessor. Для неопределенной длины поля, такого как "trans", оно должно быть добавлено с помощью multiValued="true", а загруженное время должно быть в формате ISO-8601 даже после того, как я добавил DateFormatTransformer к объекту.

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