【发布时间】:2016-02-26 19:07:33
【问题描述】:
Solr 版本为 5.4.1
我将此发布到 http://localhost:8983/solr/default-collection/update,它的处理方式就像我添加了整个文档,而不是部分更新:
{
"id": "0be0daa1-a6ee-46d0-ba05-717a9c6ae283",
"tags": {
"add": [ "news article" ]
}
}
在日志中,我发现了这个:
2016-02-26 14:07:50.831 ERROR (qtp2096057945-17) [c:default-collection s:shard1_1 r:core_node21 x:default-collection] o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: [doc=0be0daa1-a6ee-46d0-ba05-717a9c6ae283] missing required field: data_type
at org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:198)
at org.apache.solr.update.AddUpdateCommand.getLuceneDocument(AddUpdateCommand.java:83)
at org.apache.solr.update.DirectUpdateHandler2.doNormalUpdate(DirectUpdateHandler2.java:273)
at org.apache.solr.update.DirectUpdateHandler2.addDoc0(DirectUpdateHandler2.java:207)
at org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:169)
at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:69)
这有意义吗?我在一两天前就这样发送了更新,现在它的行为就像更新请求是一个全新的文档。
更新 我选择的答案让我朝着正确的方向前进。为了纠正它,我必须做的是加载所有现有的必填字段,然后自己将它们添加到有效负载中。然后它对我有用。它不是自动的,这表明它可能是 Solr 5.4.1 中的一个错误
【问题讨论】: