2016-12-14 80 views
0

我试图使用UUID技术生成id,但在数据导入过程中出现以下错误。solr uuid错误文档缺少强制uniquekey字段id

org.apache.solr.common.SolrException:找不到文件强制唯一键字段:ID

这里是我的配置文件:

托管模式

<field name="id" type="uuid" indexed="true" stored="true" multiValued="false" /> 
<fieldType name="uuid" class="solr.UUIDField" indexed="true" /> 

solrconfig.xml

<requestHandler name="/update" class="solr.UpdateRequestHandler"> 
     <lst name="defaults"> 
      <str name="update.chain">uuid</str> 
     </lst> 
     </requestHandler> 


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

我的Solr的版本是6.3

回答

3

我已经得到了解决。上面的配置适用于solr 4.X版本。 现在的新版本,在solrconfig.xml中的配置应该是这样的:

<requestHandler name="/dataimport" class="solr.DataImportHandler"> 
    <lst name="defaults"> 
     <str name="config">data-config.xml</str> 
     <str name="update.chain">uuid</str> 
    </lst> 
</requestHandler> 

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