[jira] [Commented] (SOLR-12519) Support Deeply Nested Docs In Child Documents Transformer

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Commented] (SOLR-12519) Support Deeply Nested Docs In Child Documents Transformer

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/SOLR-12519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16540169#comment-16540169 ]

mosh commented on SOLR-12519:

{quote}if you put a trailing '/' at the end of the input, then it's retained in the indexed token for the full path and you can then query by this. In this way, if your query includes the trailing '/' then it means an exact match vs any descendent
I have tried using this trick to no avail, even when I added a trailing / using the URP or the PatternReplaceTokenizer. even when my childFilter is _NEST_PATH_:toppings/, The query returns toppings' descendants.
Perhaps I'm misconfigured the PathHierarchyTokenizer?
 I will try and look in to this further, hopefully we won't have to add a new feature to the PathHierarchyTokenizer.

> 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

To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]