首页 > 解决方案 > Solr SIH: Document is missing mandatory uniqueKey field: id

问题描述

I'm getting this message:

Document is missing mandatory uniqueKey field: id

In order to fill this field on each document, I'm using:

<updateRequestProcessorChain name="files-update-processor">
    <processor class="solr.UUIDUpdateProcessorFactory">
      <str name="fieldName">id</str>
    </processor>
    ...
</updateRequestProcessorChain>

By default, this files-update-processor, is chained into any update:

<initParams path="/update/**">
    <lst name="defaults">
      <str name="update.chain">files-update-processor</str>
    </lst>
</initParams>

By other side, I've configured this data import handler:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">data-config.xml</str>
    </lst>
</requestHandler>

For each document that this DIH is indexing, I'm getting this message:

o.a.s.h.d.SolrWriter Error creating document : {code_l_ns=code_l_ns=3160, title_txt_ca=title_txt_ca=Ps. Verdaguer, voreres modificació} => org.apache.solr.common.SolrException: Document is missing mandatory uniqueKey field: id

My data-config.xml is:

<dataConfig>
    <dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://192.168.122.1;databaseName=giac_txt" user="sa" password="StR0nGp4ss."/>
    <document>
        <entity name="item" query="select codi_unitat, titol from anc_unicat">
            <field column="codi_unitat" name="code_l_ns"/>
            <field column="titol" name="title_txt_ca" />
        </entity>
    </document>
</dataConfig>

Any ideas?

标签: solrdataimporthandler

解决方案


schema.xml检查您是否使用"id". 您提到的字段 id 为required = true.

您尝试使用 data-config 在 SOLR 中索引的文档也不包含此id字段,因此 SOLR 会引发此错误。

问题的解决方案可能是:

id字段添加到所有文档

或者

删除字段required = true的表单架构文件id

请务必分享您的schema.xml文件。


推荐阅读