我们有以下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似乎可以执行所需的映射(覆盖生成的配置)。
这似乎解决了这个问题。
答案 0 :(得分:0)
fmap基本上是由tika生成的内容的字段映射。
Tika处理程序提取上传文档的内容,并将其分配给字段名称content
。
<str name="fmap.content">text</str>
将内容字段映射到架构中定义的文本字段。
由于您在架构中定义了text
字段,因此可以使用。
但是,对于<str name="fmap.text">tika_content</str>
,我们没有定义字段tika_content
,也不认为会生成text
,因此不会产生任何匹配。