在Solr中使用原子更新时出现错误

tzdcorbm  于 2023-08-04  发布在  Solr
关注(0)|答案(2)|浏览(144)

我在5.2.1中得到以下错误:RunUpdateProcessor已收到一个AddUpdateCommand,其中包含一个似乎仍包含原子文档更新操作的文档,很可能是因为已从此updateRequestProcessorChain显式禁用DistributedUpdateProcessorFactory
我试着在云端和单人间工作。我猜这一定是我的solrconfig.xml的问题-有人能把例子发布到一个有效的文件中吗?
在solrconfig我有以下,但也尝试了其他.

<initParams path="/update/**">
    <lst name="defaults">
      <str name="update.chain">add-unknown-fields-to-the-schema</str>
    </lst>
  </initParams>

<updateRequestProcessorChain name="add-unknown-fields-to-the-schema">
    <processor class="solr.UUIDUpdateProcessorFactory">
        <str name="fieldName">id</str>
    </processor>
    <processor class="solr.LogUpdateProcessorFactory" />
    <processor class="solr.RunUpdateProcessorFactory" />

</updateRequestProcessorChain>

字符串
当尝试http://yonik.com/solr/atomic-updates/中的示例时,它工作得很好,但使用的是动态字段。
顺便说一句-在尝试solrj和curl命令(文件中包含xml)时出现了相同的错误

  • 谢谢-谢谢
jucafojl

jucafojl1#

schema.xml中似乎缺少以下内容。奇怪的是,没有读到任何关于它的要求。

<uniqueKey>id</uniqueKey>

字符串

xqnpmsa8

xqnpmsa82#

在我的例子中,错误是updatejson格式的

d = [
        {
            "id": sub,
            "link":{
                "add": {
                    "linked_date": Linked_date, 
                    "collection": super_collection,
                    "super": super_docid
                    }
                }     
        }
    ]

字符串
但正确的是[] arround“add”值,如下图所示

d = [
        {
            "id": sub,
            "link":{
                "add": [{
                    "linked_date": Linked_date, 
                    "collection": super_collection,
                    "super": super_docid
                    }]
                }     
        } 
    ]

相关问题