1

我正在使用Solr 6.2.1和 ExtractingRequestHandler(已包含在 Solr 6.2.1 中)来索引 pdf 和 word 文档。所有文档(pdf 和 word)都使用元数据(标题、日期、cp_revision、公司...)进行索引,但内容字段始终为空。

根据文档,我应该有一个非空的内容字段:“Tika 将所有提取的文本添加到内容字段。”

有谁知道为什么内容字段是空的?根据这篇帖子的回答,这可能是因为我以非二进制模式打开文件,但如何以二进制模式打开文件?

这是我的solrconfig.xml文件:

<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />

...

<requestHandler name="/update/extract"
              startup="lazy"
              class="solr.extraction.ExtractingRequestHandler" >
  <lst name="defaults">
    <str name="xpath">/xhtml:html/xhtml:body/descendant:node()</str>
    <str name="capture">content</str>
    <str name="fmap.meta">attr_meta_</str>
    <str name="uprefix">attr_</str>
    <str name="lowernames">true</str>
  </lst>
</requestHandler>
4

3 回答 3

0

我遇到了类似的问题,我通过将 /update/extracthandler 请求处理程序设置为此进行了修复:

<requestHandler name="/update/extract"
              startup="lazy"
              class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
  <str name="lowernames">true</str>
  <str name="fmap.meta">ignored_</str>
  <str name="fmap.content">content</str>
  <str name="update.chain">uuid</str>
</lst>

关键部分是将 Tika 获取的内容映射到您的“内容”字段的内容,该字段必须在您的架构中定义,可能为 stored=true

于 2018-12-28T09:36:34.190 回答
0

我正在使用 solr:alpine Docker 映像并且遇到了同样的问题。原来“内容”字段被映射到 Solr 的“文本”字段,该字段被索引但默认情况下不存储。看看 Curl 中的“fmap.content=doc_content”是否可以解决问题。

于 2017-11-19T18:24:16.277 回答
0

尝试使用examples/files中的文件示例进行索引,它旨在解析富文本格式。如果这有效,您可以找出您的定义中出了什么问题。我怀疑 xpath 参数可能是错误的并且只返回空内容。

于 2016-10-20T20:51:19.080 回答