У меня есть вложенная структура данных в solr. Существует вероятность того, что изначально у родителя нет детей, а затем он добавляется. Для этого я вызываю обработчик запросов /update
со следующей полезной нагрузкой:
[
{
"id": "m8",
"type": "merchant",
"m_name": "merchant 8",
"_childDocuments_": []
}
]
Позже, когда у меня есть дочерние документы, я вызываю /update
обработчик запросов со следующей полезной нагрузкой:
[
{
"id": "m8",
"type": "merchant",
"m_name": "merchant 8",
"_childDocuments_": [
{
"id": "c8_1",
"type": "child"
}
]
}
]
В результате создается отдельный родительский документ с тем же идентификатором, но с другим кодом _version_
. Все последующие изменения, которые я делаю, например добавление дочерних документов, выполняются во втором документе.
Неважно, если я добавлю "_childDocuments_": []
или нет изначально.
Кроме того, я пытался использовать update?overwrite=true
, но это не имеет значения.
Как предотвратить создание дубликата родителя, если родительский документ изначально создан без childDocuments в solr?