You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Adrien Grand (JIRA)" <ji...@apache.org> on 2016/10/17 07:41:59 UTC

[jira] [Commented] (LUCENE-7497) Cannot use boolean SHOULD queries with block join?

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

Adrien Grand commented on LUCENE-7497:
--------------------------------------

This collector needs access to Scorer.getChildren() that BS1 does not expose. Fixing BS1 to expose sub scorers would be fairly costly, so we added a note to {{ToParentBlockJoinCollector}} to recommend using {{ToParentBlockJoinIndexSearcher}}, an IndexSearcher which disables bulk scoring:

{code}
 *  <p>This collector MUST be used with {@link ToParentBlockJoinIndexSearcher},
 *  in order to work correctly.
{code}

See also LUCENE-6959.

> Cannot use boolean SHOULD queries with block join?
> --------------------------------------------------
>
>                 Key: LUCENE-7497
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7497
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Michael McCandless
>         Attachments: LUCENE-7497.patch
>
>
> I'm in the process of upgrading http://jirasearch.mikemccandless.com (based on 4.10.x in production today!) to Lucene 6.x, but hit this tricky bug.
> When I run the new test case, I hit this:
> {noformat}
> 1) testBQShouldJoinedChild(org.apache.lucene.search.join.TestBlockJoin)
> java.lang.UnsupportedOperationException
> 	at __randomizedtesting.SeedInfo.seed([4D5C76211B3E41E1:48F4B8C556F02AB0]:0)
> 	at org.apache.lucene.search.FakeScorer.getChildren(FakeScorer.java:60)
> 	at org.apache.lucene.search.join.ToParentBlockJoinCollector$1.setScorer(ToParentBlockJoinCollector.java:190)
> 	at org.apache.lucene.search.FilterLeafCollector.setScorer(FilterLeafCollector.java:38)
> 	at org.apache.lucene.search.AssertingLeafCollector.setScorer(AssertingLeafCollector.java:43)
> 	at org.apache.lucene.search.FilterLeafCollector.setScorer(FilterLeafCollector.java:38)
> 	at org.apache.lucene.search.AssertingLeafCollector.setScorer(AssertingLeafCollector.java:43)
> 	at org.apache.lucene.search.BooleanScorer.score(BooleanScorer.java:319)
> 	at org.apache.lucene.search.BulkScorer.score(BulkScorer.java:39)
> 	at org.apache.lucene.search.AssertingBulkScorer.score(AssertingBulkScorer.java:69)
> 	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:669)
> 	at org.apache.lucene.search.AssertingIndexSearcher.search(AssertingIndexSearcher.java:91)
> 	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:473)
> 	at org.apache.lucene.search.join.TestBlockJoin.testBQShouldJoinedChild(TestBlockJoin.java:233)
> {noformat}
> Not sure how to fix it ... it happens because jirasearch runs SHOULD queries against the child docs (one child doc per jira comment) and parent docs text fields (one child doc per jira issue).



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

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