0

我面临一个特殊的问题。我在这里按照 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?我看到了一些关于这方面的文献,这相当令人困惑。蒂卡不应该照顾这个吗?

4

1 回答 1

1

我关于设置 Tika 和提取请求处理程序的文章可能对您有用:

http://amac4.blogspot.co.uk/2013/07/setting-up-tika-extracting-request.html

于 2013-08-16T14:16:48.977 回答