Solr 如何指示ExtractingRequestHandler只解析文档的主体?

Solr 如何指示ExtractingRequestHandler只解析文档的主体?,solr,apache-tika,Solr,Apache Tika,我如何指示提取请求处理程序在构造我发送给它的文档的“内容”时忽略元数据/头等 例如,我创建了一个MS Word文档,其中只包含单词“SEARCHWORD”,没有其他内容。但是,当我将此文档发送到我的solr索引时,其内容映射到我的“body”字段,如下所示: <str name="body"> Last-Printed 2009-02-05T15:02:00Z Revision-Number 22 Comments stream_source_info myfile

我如何指示提取请求处理程序在构造我发送给它的文档的“内容”时忽略元数据/头等

例如,我创建了一个MS Word文档,其中只包含单词“SEARCHWORD”,没有其他内容。但是,当我将此文档发送到我的solr索引时,其内容映射到我的“body”字段,如下所示:

<str name="body">
    Last-Printed 2009-02-05T15:02:00Z Revision-Number 22 Comments stream_source_info 
    myfile Last-Author Inigo Montoya Template Normal.dotm Page-Count 1 subject Application-Name
     Microsoft Macintosh Word Author Jesus Baggins Word-Count 2 xmpTPg:NPages 1 Edit-Time 
    108600000000 Creation-Date 2008-11-05T20:19:00Z stream_content_type application/octet-stream 
    Character Count 14 stream_size 31232 stream_name /Applications/MAMP/tmp/php/phpHCIg7y 
    Some Company Content-Type application/msword Keywords Last-Save-Date 
    2012-05-01T18:55:00Z SEARCHWORD
</str>

最后一次打印2009-02-05T15:02:00Z修订号22评论流\来源\信息
myfile最新作者Inigo Montoya Template Normal.dotm页面计数1主题应用程序名称
Microsoft Macintosh Word作者Jesus Baggins Word Count 2 xmpTPg:NPages 1编辑时间
108600000000创建日期2008-11-05T20:19:00Z流内容类型应用程序/八位字节流
字符计数14流大小31232流名称/应用程序/MAMP/tmp/php/phcig7y
某些公司内容类型应用程序/msword关键字上次保存日期
2012-05-01T18:55:00Z搜索词
我只需要文档的主体,在本例中是“SEARCHWORD”

为了进一步参考,以下是我的提取处理程序:

 <requestHandler name="/update/extract" 
                 startup="lazy"
                 class="solr.extraction.ExtractingRequestHandler" >
    <lst name="defaults">
      <!-- All the main content goes into "text"... if you need to return
           the extracted text or do highlighting, use a stored field. -->
      <str name="fmap.content">body</str>
      <str name="lowernames">true</str>
      <str name="uprefix">ignored_</str>
    </lst>
  </requestHandler>

身体
真的
忽略_
您是否尝试添加到默认值:

<str name="XPath">/xhtml:body</str>
/xhtml:body

您可以使用url快速测试它,如上面的链接所示。

solr用户邮件列表中的杰出人物将其排到了最后。事实证明,字段名“meta”是一个特例:ExtractingRH将所有元数据复制到此字段。在我的例子中,我也得到了内容,因为我自己的ERH中有fmap.contents映射。我将“meta”字段重命名为其他字段,现在它只接收文档的内容


Solr wiki中目前没有记录此行为。我希望这能帮助其他人,他们的模式中可能有一个名为“meta”的字段,他们正在将文档内容提取到该字段中(我知道这不太可能)

我通过的任何文件都适用吗?我主要是添加Word和PDF文档,我正在寻找一种格式不可知的解决方案。我决不是Tika的专家,但顺便说一句,Tika返回的XHTML是通用的。主体部分由Tika处理,因此我假设XHTML的标记“Body”是一个标准。尝试解析PDF,看看会发生什么;)嗨@joadha,很抱歉重新提出这样一个旧的答案,但我遇到了一个类似的问题。“我将我的“元”字段重命名为其他字段”是什么意思?您的问题中显示的提取处理程序中似乎没有“meta”字段。