[
https://issues.apache.org/jira/browse/SOLR-18421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Prithvi S updated SOLR-18421:
-----------------------------
Summary: {!child}: childQuery + per-parent childLimit via Lucene
ParentsChildrenBlockJoinQuery (was: Expose Lucene
ParentsChildrenBlockJoinQuery from {!child} (parent+child query, childLimit per
parent))
> {!child}: childQuery + per-parent childLimit via Lucene
> ParentsChildrenBlockJoinQuery
> -------------------------------------------------------------------------------------
>
> Key: SOLR-18421
> URL: https://issues.apache.org/jira/browse/SOLR-18421
> Project: Solr
> Issue Type: New Feature
> Components: query parsers
> Reporter: Prithvi S
> Priority: Major
>
> Lucene 10.4 added ParentsChildrenBlockJoinQuery
> (https://github.com/apache/lucene/issues/14565): match parent docs and child
> docs in the same block-join query, with an optional childLimitPerParent cap.
> Solr already depends on Lucene 10.4.0 (gradle/libs.versions.toml) and already
> wraps ToParentBlockJoinQuery / ToChildBlockJoinQuery as \{!parent} /
> \{!child}, but never uses ParentsChildrenBlockJoinQuery.
> *Current limitation*
> {!child} takes a parent query and returns *all* children of those parents.
> There is no way to:
> * also filter which children match
> * cap the number of matching children per parent at *query* time
> The [child] transformer \{{limit}} param is response decoration of
> already-matched parents, not a search-time limit.
> *Proposed API (backward compatible)*
> {code:java}
> q=\{!child parentPath="/" childQuery=$cq childLimit=2}title:solr
> &cq=comments:lucene
> {code}
> Omit childQuery/childLimit -> existing \{!child} behavior.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]