【发布时间】:2020-10-26 12:45:37
【问题描述】:
我收到了这条消息:
文档缺少必填的 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>
有什么想法吗?
【问题讨论】:
-
我记得
update.chain需要直接在/dataimport端点上指定,所以在<str name="config">data-config.xml</str>下添加<str name="update.chain">files-update-processor</str>。