[ 
https://issues.apache.org/jira/browse/LUCENE-6354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mikhail Khludnev updated LUCENE-6354:
-------------------------------------
    Attachment: LUCENE-6354.patch

ok. I still consider composition and OO-blah-blah as a holy cow. It make the 
last patch is really scary: 
* I extracted {{public abstract class BlockJoinScorer extends Scorer}} because 
their methods are exposed to ToParentBlockJoinCollector and other. 
* existing bjq scorer is moved into {{DefaultBlockJoinScorer extends 
BlockJoinScorer}} w/o min/maxChildren support. 
* then {{TwoPhaseBlockJoinScorer}} wraps {{DefaultBlockJoinScorer}} when needed 
in {{BlockJoinWeight.scorer()}} 
* {{TwoPhaseBlockJoinScorer}} is a delegate and literally mimics 
{{TwoPhaseIterator.asDocIdSetIterator()}}, which is necessary because of Java 
language limitation. 
* now bjq works as a top level and as a filter leg, and doesn't break 
bjqcollector.

Perhaps it's too cumbersome for particular jira, I just want to emphasize the 
importance of generic TwoPhaseIterator scorers. 

 

> Add minChildren and maxChildren options to ToParentBlockJoinQuery
> -----------------------------------------------------------------
>
>                 Key: LUCENE-6354
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6354
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Martijn van Groningen
>         Attachments: LUCENE-6354.patch, LUCENE-6354.patch, LUCENE-6354.patch, 
> LUCENE-6354.patch
>
>
> This effectively allows to ignore parent documents with too few children 
> documents via the minChildren option or too many matching children documents 
> via the maxChildren option. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to