Solr TikaEntityProcessor не работает - PullRequest
3 голосов
/ 02 июня 2010

Я пытаюсь заставить Solr проиндексировать базу данных, в которой один столбец является именем файла PDF-документа, который я хочу проиндексировать. Моя конфигурация выглядит так:

<dataConfig>
 <dataSource name="ds-db" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/document_db" user="user" password="password" readOnly="true"/>
 <dataSource name="ds-file" type="BinFileDataSource"/>
 <document name="documents">
   <entity name="document" dataSource="ds-db" query="select * from documents">
     <entity processor="TikaEntityProcessor" url="/some/path/${document.filename}" dataSource="ds-file" format="text">
       <field column="text" />
     </entity>
   </entity>
 </document>
</dataConfig>

Я использую Solr из транка (по состоянию на прошлую неделю). Процесс импорта завершается без ошибок, и он выбирает столбцы из базы данных, но не содержимое из файла PDF. Он определенно пытается получить доступ к файлу PDF, потому что, если я дам ему неправильный путь, он будет жаловаться. Похоже, что он не пытается индексировать PDF, поскольку он завершается примерно через 40 мс, в то время как если я импортирую PDF через ExtractingRequestHandler, для его индексации требуется около 11 секунд.

Я также попробовал пример tika в example-DIH, и это тоже, похоже, ничего не индексирует. Я что-то не так делаю, или это просто пока не работает?

Я использую Java 1.6.0_20 на OSX 10.6.3.

(Следует отметить, что я уже опубликовал это в списке рассылки solr-user и не получил ответа.)

1 Ответ

2 голосов
/ 04 июня 2010

Кто-то из списка рассылки solr-user получил ответ: http://lucene.472066.n3.nabble.com/TikaEntityProcessor-not-working-tp856965p867572.html

По сути, в Apache Tika есть ошибка, появившаяся после версии 0.6, и она, очевидно, все еще присутствует в снимке 0.8, который в данный момент находится в стволе Solr. Загрузка Tika 0.6 (из http://archive.apache.org/dist/lucene/tika/) и копирование tika-core-0.6.jar и tika-parsers-0.6.jar в путь исправили проблему.

...