如何构建我发送给它的文档的“内容”时,如何指示提取请求处理程序忽略元数据/标题等?
例如,我创建了一个MS Word文档,其中只包含单词“SEARCHWORD”,而不是其他内容。但是,当我将此doc发送到我的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>
我想要的只是文件的正文,在这种情况下是“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>
答案 0 :(得分:3)
solr-user邮件列表上的精彩人物已经到了最底层。事实证明,字段名称“meta”是一种特殊情况:ExtractingRH将所有元数据复制到此字段。就我而言,由于我自己的ERH中的fmap.contents映射,我也得到了内容。我将“meta”字段重命名为其他内容,现在它只接收文档的内容。
Solr wiki目前没有记录此行为。我希望这可以帮助其他人在他们的模式中有一个名为“meta”的字段,他们正在提取文档内容(我不太可能)。
答案 1 :(得分:1)