[
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: [email protected]
For additional commands, e-mail: [email protected]