You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "David Smiley (JIRA)" <ji...@apache.org> on 2018/07/09 18:43:00 UTC
[jira] [Commented] (SOLR-12519) Support Deeply Nested Docs In Child
Documents Transformer
[ https://issues.apache.org/jira/browse/SOLR-12519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16537381#comment-16537381 ]
David Smiley commented on SOLR-12519:
-------------------------------------
bq. my query is for all the children of "a:b", which contain the key "e" in them
That's one use-case, "all children that have a certain key" but there are perhaps more use-cases to be addressed in this issue?
# all child docs matching some custom query (e.g. your example above of {{e:\*}})
# all child docs of a certain key, e.g. all "c" docs.
# ... and all their descendants Y/N
# all child docs at a certain path
# ... and all their descendants Y/N
In all these cases, we must always retrieve all ancestors up to the root document I think.
Perhaps some path syntax/language could articulate this?
Ultimately we'll want to utilize PathHierarchyTokenizer in some way.
> Support Deeply Nested Docs In Child Documents Transformer
> ---------------------------------------------------------
>
> Key: SOLR-12519
> URL: https://issues.apache.org/jira/browse/SOLR-12519
> Project: Solr
> Issue Type: Sub-task
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: mosh
> Priority: Major
>
> As discussed in SOLR-12298, to make use of the meta-data fields in SOLR-12441, there needs to be a smarter child document transformer, which provides the ability to rebuild the original nested documents' structure.
> In addition, I also propose the transformer will also have the ability to bring only some of the original hierarchy, to prevent unnecessary block join queries. e.g.
> {code} {"a": "b", "c": [ {"e": "f"}, {"e": "g"} , {"h": "i"} ]} {code}
> Incase my query is for all the children of "a:b", which contain the key "e" in them, the query will be broken in to two parts:
> 1. The parent query "a:b"
> 2. The child query "e:*".
> If the only children flag is on, the transformer will return the following documents:
> {code}[ {"e": "f"}, {"e": "g"} ]{code}
> In case the flag was not turned on(perhaps the default state), the whole document hierarchy will be returned, containing only the matching children:
> {code}{"a": "b", "c": [ {"e": "f"}, {"e": "g"} ]{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org