1

我有以下 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_sizeand之类的东西content_type

有什么办法可以解决这个问题?

我希望 Tika 覆盖title我分配的内容,如下所示:

我有 3 个文档,其中一个,Tika 没有提取 a title,在这种情况下,我有我自己的标题,我设置为 pass literal.title,当 Tika 提取 a 时title,我希望它覆盖我传入的那个literal.title。这可能吗?

4

2 回答 2

1

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

于 2011-12-26T19:26:54.290 回答
0

对于那些仍在为这个问题苦苦挣扎的人,我通过添加来解决它

<str name="fmap.title">ignored_</str>

在我的 ExtractingRequestHandler 默认值中。

于 2017-05-19T07:16:56.920 回答