Solr's TikaEntityProcessor not working
I'm trying to get Solr to index a database in which one column is a filename of a PDF document I'd like to index. My configuration looks like this:
<dataConfig>
<dataSource name="ds-db" driver="com.mysql.jdb开发者_如何学Cc.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>
I'm using Solr from trunk (as of last week). The import process completes without errors, and it picks up the columns from the database, but not the content from the PDF file. It is definitely trying to access the PDF file, for if I give it an incorrect path name, it complains. It doesn't seem to be attempting to index the PDF, though, as it completes in about 40ms, whereas if I import the PDF via the ExtractingRequestHandler
, it takes about 11 seconds to index it.
I've also tried the tika example in example-DIH and that doesn't seem to index anything, either. Am I doing something wrong, or is this just not working yet?
I'm running Java 1.6.0_20 on OSX 10.6.3.
(I should note that I already posted this on the solr-user mailing list and didn't get an answer.)
Someone on the solr-user mailing list had the answer: http://lucene.472066.n3.nabble.com/TikaEntityProcessor-not-working-tp856965p867572.html
Basically, there's a bug in Apache Tika that was introduced after version 0.6, and it is apparently still present in the 0.8 snapshot that is currently in Solr's trunk. Downloading Tika 0.6 (from http://archive.apache.org/dist/lucene/tika/) and copying tika-core-0.6.jar and tika-parsers-0.6.jar into the path fixed the issue.
精彩评论