apache / apache/lucene

Extend ToParentBlockJoinQuery with 'minimum matched children' functionality [LUCENE-8359]

Open
#9,406 1 comment 0 reactions 0 assignees View on GitHub
legacy-jira-label:lucene legacy-jira-priority:Minor type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

I have a hierarchal data in index and requirements like 'match parent only if at least `n` his children were matched'.  

I used to solve it by combination of some lucene / solr tricks like 'frange' filtration by sum of matched children score, so it's doable out of the box with some efforts right now. But also it could be solved by \`ToParentBlockJoinQuery` extension with new numeric parameter, tried to do it in attached patch. 

Not sure if this should be in main branch, just put it here, maybe someone would have similar problems.

---
Migrated from [LUCENE-8359](https://issues.apache.org/jira/browse/LUCENE-8359) by Andrey Kudryavtsev
Attachments: [LUCENE-8359](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-8359/LUCENE-8359)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing ToParentBlockJoinQuery and the attached LUCENE-8359 patch to understand the proposed API and current behavior. The work is done when the project agrees on how a minimum number of matched children should be specified and the functionality is implemented with coverage for that behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.