solr多个pdf文件一次索引。

时间:2014-05-23 06:35:33

标签: pdf solr indexing

使用此命令

curl '://localhost:8983/solr/update/extract?literal.id=doc1&commit=true' -F "myfile=@maven_tutorial.pdf"

我们可以通过在solr中指定我们自己的id(DOC1)来索引单个pdf文件。但我想将许多pdf文件索引到同时解决所有问题。让solr自动跟踪id。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

您可以使用UUID类型字段作为唯一键。 首先定义UUID字段类型

<fieldType name="uuid" class="solr.UUIDField" indexed="true" />

在schema.xml中添加您的id字段

<field name="id" type="uuid" indexed="true" stored="true"  multiValued="false"/>

将此字段设为唯一键

<uniqueKey>id</uniqueKey>

在solrconfig.xml中更新自动生成id

的链
<updateRequestProcessorChain name="uuid">
<updateRequestProcessorChain name="uuid">
    <processor class="solr.UUIDUpdateProcessorFactory">
        <str name="fieldName">id</str>
    </processor>
    <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>

现在将此更新链附加到请求处理程序,该处理程序从您提交给solr的pdf文件中提取内容。

<requestHandler name="/update/extract" 
              startup="lazy"
              class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
  <str name="lowernames">true</str>
  <str name="uprefix">ignored_</str>
  <str name="captureAttr">true</str>
  <str name="fmap.a">links</str>
  <str name="fmap.div">ignored_</str>
  <str name="update.chain">uuid</str>
</lst>