Description
When using nested or child document. Update and delete operation on the root document should also affect the nested documents, as no child can exist without its parent
Example
<doc> <field name="id">1</field> <field name="title">Article with author</field> <doc> <field name="name">Smith, John</field> <field name="role">author</field> </doc> </doc>
If I change my mind and the author was not named John but Jane:
<doc> <field name="id">1</field> <field name="title">Article with author</field> <doc> <field name="name">Smith, Jane</field> <field name="role">author</field> </doc> </doc>
I would expect that John is not in the index anymore. Currently he is. There might also be the case that any subdocument is removed by an update:
<doc> <field name="id">1</field> <field name="title">Article without author</field> </doc>
This should affect a delete on all nested documents, too. The same way all nested documents should be deleted if I delete the root document:
<delete> <id>1</id> <!-- implying also <query>_root_:1</query> --> </delete>
This is currently possible to do all this stuff on client side by issuing additional request to delete document before every update. It would be more efficient if this could be handled on SOLR side. One would benefit on atomic update. The biggest plus shows when using "delete-by-query".
<delete> <query>title:*</query> <!-- implying also <query>_root_:1</query> --> </delete>
In that case one would not have to first query all documents and issue deletes by those id and every document that are nested.
Attachments
Issue Links
- is related to
-
SOLR-12638 Support atomic updates of nested/child documents for nested-enabled schema
- Resolved
-
SOLR-6596 Atomic update and adding child doc not working together
- Closed
-
SOLR-10144 redesign block-join support
- Closed
- relates to
-
SOLR-5211 updating parent as childless makes old children orphans
- Closed