使用自定义字段类型架构索引办公室格式

时间:2011-11-15 08:36:02

标签: solr

我们有以下Solr(3.4)模式来索引HTML /文本文档:

 <fields>

   <field name="text" type="text" indexed="true"
          stored="true" required="false" multiValued="false"
          omitNorms="false"/>
   <field name="title" type="text" indexed="true"
          stored="true" required="false" multiValued="false"
          omitNorms="false"/>
   <field name="created" type="date" indexed="true"
          stored="true" required="true" multiValued="false"
          omitNorms="false"/>
   <field name="modified" type="date" indexed="true"
          stored="true" required="false" multiValued="false"
          omitNorms="false"/>
   <field name="filesize" type="integer" indexed="true"
          stored="true" required="false" multiValued="false"
          omitNorms="false"/>
   <field name="mimetype" type="string" indexed="true"
          stored="true" required="false" multiValued="false"
          omitNorms="false"/>
   <field name="id" type="string" indexed="true"
          stored="true" required="true" multiValued="false"
          omitNorms="false"/>
   <field name="tag" type="string" indexed="true"
          stored="true" required="false" multiValued="false"
          omitNorms="false"/>
   <field name="relpath" type="string" indexed="true"
          stored="true" required="false" multiValued="false"
          omitNorms="false"/>

   <dynamicField name="tika_*" type="ignored" />

 </fields>

配置是从zc.buildout的solrinstance配方中的模板自动生成的。

现在我们需要将PDF / Office文件等导入/索引到Solr中以进行全文索引。

生成的requestHandler用于提取:

  <requestHandler name="/update/extract"
                  class="solr.extraction.ExtractingRequestHandler" >
    <lst name="defaults">
      <str name="fmap.text">tika_content</str>
      <str name="lowernames">false</str>
      <str name="uprefix">tika_</str>
    </lst>
  </requestHandler>

但是在通过curl上传PDF文件后,我找不到任何迹象 已经是索引(文档统计数据没有变化等)。

这里的诀窍是什么?

[更新]

我正在使用

curl&#34; http:// localhost:8983 / solr / update / extract?literal.id = 2&amp; commit = true&amp; fmap.content = text&#34; -F&#34; myfile=@1.pdf"

上传PDF文件。添加fmap.content = text似乎可以执行所需的映射(覆盖生成的配置)。

这似乎解决了这个问题。

1 个答案:

答案 0 :(得分:0)

fmap基本上是由tika生成的内容的字段映射。

Tika处理程序提取上传文档的内容,并将其分配给字段名称content<str name="fmap.content">text</str>将内容字段映射到架构中定义的文本字段。 由于您在架构中定义了text字段,因此可以使用。

但是,对于<str name="fmap.text">tika_content</str>,我们没有定义字段tika_content,也不认为会生成text,因此不会产生任何匹配。

相关问题