2

当我尝试使用不存在的索引更新文档时,Solr 会回答错误,说明缺少必填字段。我认为 Solr 试图从原子更新中创建丢失的文档。有什么方法可以配置 Solr,使其不会尝试创建此文档?

curl 'solr.local:8080/solr/update' -H 'Content-type:application/json' -d '[{"id":"800000","name":{"set":"Test"}}]'

{"responseHeader":{"status":400,"QTime":1},"error":{"msg":"[doc=800000] missing required field: candidate_source","code":400}}


Solr 4.4.0
4

2 回答 2

2

如果文档不存在,我认为没有选项可以忽略更新。
Solr 在内部仍会删除并重新创建文档,这就是为什么您需要将字段存储为可更新的原因。
因此,如果该文档不存在,那么删除就不会发生。
但是,如果文档没有必填字段,则插入将导致失败。

于 2013-09-06T04:47:28.470 回答
0

检查 schema.xml 中字段“candidate_source”的必需属性。

如果属性 required='true' 则该字段不能为空。

删除该字段的属性 required='true' 并尝试。

于 2013-09-06T05:35:34.030 回答