[
https://issues.apache.org/jira/browse/SOLR-6096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14003745#comment-14003745
]
Mikhail Khludnev commented on SOLR-6096:
----------------------------------------
bq. I would expect that John is not in the index anymore. Currently he is.
Giving the
[test|https://github.com/apache/lucene-solr/blob/trunk/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java#L142]
I suppose that update with children works fine if you specify {code}<add
overwrite = "true"><doc>...</doc> </add>{code} To make it work you need to have
uniqueKey defined.
hmm.. I just checked it manually myself, with the tiny data from the blog. It
works fine as expected - overwrite = "true" is implied by default. My guess is
you either dont have uniqueKey defined, or you forget to commit, after update.
> Support Update and Delete on nested documents
> ---------------------------------------------
>
> Key: SOLR-6096
> URL: https://issues.apache.org/jira/browse/SOLR-6096
> Project: Solr
> Issue Type: Improvement
> Affects Versions: 4.7.2
> Reporter: Thomas Scheffler
> Labels: blockjoin, nested
>
> 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
> {code:xml|title=First Import}
> <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>
> {code}
> If I change my mind and the author was not named *John* but *_Jane_*:
> {code:xml|title=Changed name of author of '1'}
> <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>
> {code}
> 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:
> {code:xml|title=Remove author}
> <doc>
> <field name="id">1</field>
> <field name="title">Article without author</field>
> </doc>
> {code}
> 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:
> {code:xml|title=Deletion of '1'}
> <delete>
> <id>1</id>
> <!-- implying also
> <query>_root_:1</query>
> -->
> </delete>
> {code}
> 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".
> {code:xml|title=Deletion of '1' by query}
> <delete>
> <query>title:*</query>
> <!-- implying also
> <query>_root_:1</query>
> -->
> </delete>
> {code}
> In that case one would not have to first query all documents and issue
> deletes by those id and every document that are nested.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]