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

mosh commented on SOLR-12441:
-----------------------------

{quote}For what other purpose do we need the path – other than a DocTransformer 
to reconstitute the document? Does this need to be indexed for some purpose?
{quote}
The path field can be used to filter children when using the doc transformer.
{code:javascript}
 { "from": { "name": "Peyton Manning", "id": "X18" }, "to": John } {code}
e.g. if the user enters from/name:"Peyton*", the transformer can construct the 
following:
{code:java}
q="to:John", childFilter="from/name:Peyton*"{code}
The transformer could construct the parentFilter by checking whether _root_=id, 
and build the childFilter "__NEST_PATH__:from#*# AND name:Peyton".
 This would prevent keys with the same names in child documents which are in 
different levels making false-positive matches.

 The reason I ended each nesting key with #num# is so we can query using the 
__NEST_PATH__ field regardless of the value type or array index using 
"keyName#*#".

> Add deeply nested documents URP
> -------------------------------
>
>                 Key: SOLR-12441
>                 URL: https://issues.apache.org/jira/browse/SOLR-12441
>             Project: Solr
>          Issue Type: Sub-task
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: mosh
>            Assignee: David Smiley
>            Priority: Major
>          Time Spent: 6h
>  Remaining Estimate: 0h
>
> As discussed in 
> [SOLR-12298|https://issues.apache.org/jira/browse/SOLR-12298], there ought to 
> be an URP to add metadata fields to childDocuments in order to allow a 
> transformer to rebuild the original document hierarchy.
> {quote}I propose we add the following fields:
>  # __nestParent__
>  # _nestLevel_
>  # __nestPath__
> __nestParent__: This field wild will store the document's parent docId, to be 
> used for building the whole hierarchy, using a new document transformer, as 
> suggested by Jan on the mailing list.
> _nestLevel_: This field will store the level of the specified field in the 
> document, using an int value. This field can be used for the parentFilter, 
> eliminating the need to provide a parentFilter, which will be set by default 
> as "_level_:queriedFieldLevel".
> _nestLevel_: This field will contain the full path, separated by a specific 
> reserved char e.g., '.'
>  for example: "first.second.third".
>  This will enable users to search for a specific path, or provide a regular 
> expression to search for fields sharing the same name in different levels of 
> the document, filtering using the level key if needed.
> {quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to