2017-06-06 59 views
0

我刚开始使用solr-6.5.1,试图从Oracle DB导入数据。 我的数据没有任何唯一ID,通过各种论坛进行搜索,发现使用class =“solr.UUIDUpdateProcessorFactory”可以解决这个问题。但stil得到相同的错误。下面是我的managed-schema和solrconfig.xml的片段。SOLR:缺少文档必需uniqueKey字段:编号

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" /> 
    </updateRequestProcessorChain> 

托管模式

<field name="id" type="uuid" indexed="true" stored="true" required="true" /> 
    <field name="SERVICEACCOUNTNUMBER" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
    <field name="USERNAME" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
    <field name="NAME" type="string" indexed="true" stored="true" multiValued="false" /> 
    <field name="TRANSACTION_DATE" type="date" indexed="true" stored="true" /> 
    <field name="PROCESSSTATUS" type="string" indexed="true" stored="true" /> 
    <field name="RECHARGE_MODE" type="string" indexed="true" stored="true" /> 
    <field name="PROCESSRECHARGEREQUESTNO" type="string" indexed="true" stored="true" /> 
    <field name="PACKAGE_ID" type="string" indexed="true" stored="true" /> 
    <field name="PACKAGENAME" type="string" indexed="true" stored="true" /> 
    <field name="AMOUNT" type="int" indexed="true" stored="true" multiValued="true" /> 
    <field name="CREDITDOCUMENTNUMBER" type="string" indexed="true" stored="true" multiValued="true" /> 
    <field name="DEBITDOCUMENTNUMBER" type="string" indexed="true" stored="true" /> 
    <field name="SERVICE_TYPE" type="string" indexed="true" stored="true" multiValued="true" /> 

请帮

回答

0

答案学分后solr uuid with error document is missing mandatory uniquekey field id

更新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> 
相关问题