我面临一个特殊的问题。我在这里按照 solr wiki 配置了我的数据配置和架构:Tika DIH
数据配置如下:
<dataConfig>
<dataSource type="BinURLDataSource" name="bin" />
<document>
<entity name="tika-test" processor="TikaEntityProcessor"
url = "http://adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf" dataSource= "bin" format="text" >
<field column="Author" name="author" meta="true"/>
<field column="title" meta="true" name="title"/>
<field column="text" name="text"/>
</entity>
</document>
</dataConfig>
架构是这样的:
<fields>
<field name="title" type="string" indexed="true" stored="true"/>
<field name="author" type="string" indexed="true" stored="true" />
<field name="text" type="text" indexed="true" stored="true" />
</fields>
<uniqueKey>text</uniqueKey>
我也有一个可执行的 tika jar,当我从命令行使用 jar 版本时,上面的文档就被完美地处理了。但是,使用 solr,数据导入会导入一组空字段。它成功,但创建的文档对于所有字段都是完全空的。我哪里错了?
我也尝试使用ExtractingRequestHandler。这就是我的请求处理程序的设置方式:
<requestHandler name="/update/extract" class="org.apache.solr.handler.extraction.ExtractingRequestHandler">
<lst name="defaults">
<str name="fmap.Last-Modified">last_modified</str>
<str name="uprefix">ignored_</str>
</lst>
</requestHandler>
尝试以下请求:
curl "http://localhost:3533/solr/solr/update/extract?literal.id=doc1&commit=true" -F "myfile=/home/superq/Downloads/tutorial.html"
我得到一个空的响应,例如:
<response><lst name="responseHeader"><int name="status">0</int><int name="QTime">13</int></lst></response>
甚至日志文件也没有任何可能有帮助的东西。而且该文档还没有被索引。此外,似乎什么都没有做,因为将目标文件名更改为不存在的文件不会引发应有的错误。
我的问题是:
1)对于 solr tika 集成,我只需要将相应的 tika 文件(构建工件)复制到 solr 库路径中,还是我还需要将其作为服务安装?
2) 为了转换文件,我是否需要创建 .doc/.pdf 文件的二进制版本,然后将其提供给 solr?我看到了一些关于这方面的文献,这相当令人困惑。蒂卡不应该照顾这个吗?