[ https://issues.apache.org/jira/browse/LUCENE-10477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17538734#comment-17538734 ]
ASF subversion and git services commented on LUCENE-10477: ---------------------------------------------------------- Commit ece0f43b591d28cc7d41ff57b1db6ddcf4df6f8d in lucene-solr's branch refs/heads/branch_8_11 from Christine Poerschke [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=ece0f43b591 ] LUCENE-10464, LUCENE-10477: WeightedSpanTermExtractor.extractWeightedSpanTerms to rewrite sufficiently (#2656) Also mention 'call multiple times' in Query.rewrite javadoc. > SpanBoostQuery.rewrite was incomplete for boost==1 factor > --------------------------------------------------------- > > Key: LUCENE-10477 > URL: https://issues.apache.org/jira/browse/LUCENE-10477 > Project: Lucene - Core > Issue Type: Bug > Affects Versions: 8.11.1 > Reporter: Christine Poerschke > Assignee: Christine Poerschke > Priority: Minor > Fix For: 10.0 (main), 9.2 > > Time Spent: 50m > Remaining Estimate: 0h > > _(This bug report concerns pre-9.0 code only but it's so subtle that it > warrants sharing I think and maybe fixing if there was to be a 8.11.2 release > in future.)_ > Some existing code e.g. > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.11.1/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNearBuilder.java#L54] > adds a {{SpanBoostQuery}} even if there is no boost or the boost factor is > {{1.0}} i.e. technically wrapping is unnecessary. > Query rewriting should counteract this somewhat except it might not e.g. note > at > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.11.1/lucene/core/src/java/org/apache/lucene/search/spans/SpanBoostQuery.java#L81-L83] > how the rewrite is a no-op i.e. {{this.query.rewrite}} is not called! > This can then manifest in strange ways e.g. during highlighting: > {code:java} > ... > java.lang.IllegalArgumentException: Rewrite first! > at > org.apache.lucene.search.spans.SpanMultiTermQueryWrapper.createWeight(SpanMultiTermQueryWrapper.java:99) > at > org.apache.lucene.search.spans.SpanNearQuery.createWeight(SpanNearQuery.java:183) > at > org.apache.lucene.search.highlight.WeightedSpanTermExtractor.extractWeightedSpanTerms(WeightedSpanTermExtractor.java:295) > ... > {code} > This stacktrace is not from 8.11.1 code but the general logic is that at line > 293 rewrite was called (except it didn't a full rewrite because of > {{SpanBoostQuery}} wrapping around the {{{}SpanNearQuery{}}}) and so then at > line 295 the {{IllegalArgumentException("Rewrite first!")}} arises: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.11.1/lucene/core/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java#L101] -- This message was sent by Atlassian Jira (v8.20.7#820007) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org