Solr的多个PDF文件索引的一次。(solr multiple pdf files indexin

2019-09-29 06:30发布

使用此命令

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

我们可以索引单一的PDF文件,通过指定自己的ID(DOC1),Solr中。 但我想很多索引PDF文件到Solr的一次。 让Solr的自动跟踪的ID。

请帮我。

Answer 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中更新链autogenerating的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>



文章来源: solr multiple pdf files indexing all at once.