Solr SIH:文档缺少必需的uniqueKey字段:id

问题描述

我收到此消息:

文档缺少必填的uniqueKey字段:id

为了在每个文档上填写此字段,我使用:

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

认情况下,此files-update-processor链接到任何update

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

另一方面,我已经配置了此数据导入处理程序:

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

对于此DIH索引的每个文档,我都会收到此消息:

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

我的data-config.xml是:

<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>

有什么想法吗?

解决方法

schema.xml中检查是否用"id"定义了该字段。 您提到的ID为required = true的字段。

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

该问题的解决方案可能是:

id字段添加到所有文档中

OR

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

请共享您的schema.xml文件。