Tika Solr元数据映射忽略文档标题

时间:2011-12-21 17:58:17

标签: solr metadata apache-tika solr-cell

我有solr的以下配置文件:

  <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="lowernames">true</str>
      <str name="fmap.content">content</str>
      <str name="fmap.application_name">type</str>
      <str name="fmap.content_type">mime</str>
      <str name="fmap.stream_size">size</str>
      <str name="uprefix">ignored_</str>
      <str name="captureAttr">false</str>
    </lst>
  </requestHandler>

这是我的架构:

   <field name="id" type="string" indexed="true" stored="true" required="true" /> 
   <field name="access_type" type="string" indexed="true" stored="false"/>
   <field name="access_restriction" type="string" indexed="true" stored="false" multiValued="true"/>
   <field name="title" type="string" indexed="true" stored="true" multiValued="true" />
   <field name="tags" type="string" indexed="true" stored="true" multiValued="true"/>
   <field name="content" type="text_en_splitting" indexed="true" stored="true"/>
   <field name="created" type="date" indexed="true" stored="true"/>
   <field name="createdby" type="string" indexed="true" stored="true"/>
   <field name="modified" type="date" indexed="true" stored="true"/>
   <field name="modifiedby" type="string" indexed="true" stored="true"/>
   <field name="source" type="string" indexed="true" stored="true" />
   <field name="version" type="string" indexed="true" stored="true" />
   <field name="resourcelink" type="string" indexed="true" stored="true" />
   <field name="downloadlink" type="string" indexed="true" stored="true" />

   <field name="type" type="string" indexed="true" stored="true" />
   <field name="mime" type="string" indexed="true" stored="true" />
   <field name="size" type="string" indexed="true" stored="true" />

我想自己设置title。但Tika一直设置它自己的title(这就是我暂时设置multiValued="true"的原因),我觉得这很奇怪,因为我必须手动映射stream_sizecontent_type等内容。

这个问题可以解决哪些问题?

我希望Tika覆盖我指定的title,如下所示:

我有3个文件,其中一个,Tika没有提取title,在这种情况下,我有自己的标题,我设置通过literal.title,当Tika确实提取title 1}},我希望它覆盖我传递给literal.title的那个。这可能吗?

2 个答案:

答案 0 :(得分:1)

前段时间我正在研究同一个问题,但我也碰到了一堵墙:( 我让Tika取“标题”,并使用literal.other_title_like_field来存储正确的标题。 这不是最好的解决方案,但对我有用。

答案 1 :(得分:0)

对于那些仍在努力解决这个问题的人,我通过添加

解决了这个问题
<str name="fmap.title">ignored_</str>

在我的ExtractingRequestHandler默认值中。