Solr 9.0.0部分原子更新报[doc=null]缺少必填字段id的问题问询
Solr 9.0.0 部分原子更新触发「缺少必填字段id」问题的解决方案
问题现象
在Apache Solr 9.0.0中执行部分原子更新时,即便已提供作为唯一键的id字段,仍会触发错误:
[doc=null] missing required field: id
问题原因
经排查,该错误由schema中的通配符动态字段定义导致:
<dynamicField name="*" type="text_general" indexed="false" stored="false" multiValued="false" docValues="false"/>
若将该动态字段的名称修改为带后缀的形式(如name="*_i"),原子更新即可正常执行,但如果不修改该定义,该如何实现部分原子更新?
问题根源
该Bug是Solr 9.0.0版本引入的,存在于JsonLoader组件中。
临时解决方案
改用XML格式发送部分原子更新请求,示例代码如下:
<add> <doc> <field name="id">1011</field> <field name="CLIENT_TEAM" update="set">New Delhi</field> </doc> <doc> <field name="id">1022</field> <field name="CLIENT_TEAM" update="set">Mumbai</field> </doc> </add>
内容的提问来源于stack exchange,提问作者Kailash
相关产品推荐
相关产品推荐

