diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt index 34e91b6b3c5..ec395a38456 100644 --- a/lucene/CHANGES.txt +++ b/lucene/CHANGES.txt @@ -32,6 +32,10 @@ Other ======================= Lucene 6.2.0 ======================= +API Changes + +* ScoringWrapperSpans was removed since it had no purpose or effect as of Lucene 5.5. + New Features * LUCENE-7302: IndexWriter methods that change the index now return a @@ -148,6 +152,9 @@ Other * LUCENE-7372: Factor out an org.apache.lucene.search.FilterWeight class. (Christine Poerschke, Adrien Grand, David Smiley) +* LUCENE-7384: Removed ScoringWrapperSpans. And tweaked SpanWeight.buildSimWeight() to + reuse the existing Similarity instead of creating a new one. (David Smiley) + ======================= Lucene 6.1.0 ======================= New Features diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/ScoringWrapperSpans.java b/lucene/core/src/java/org/apache/lucene/search/spans/ScoringWrapperSpans.java deleted file mode 100644 index d38ae839ba4..00000000000 --- a/lucene/core/src/java/org/apache/lucene/search/spans/ScoringWrapperSpans.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.lucene.search.spans; - - -import java.io.IOException; - -import org.apache.lucene.search.similarities.Similarity; -import org.apache.lucene.search.TwoPhaseIterator; - -/** - * A Spans that wraps another Spans with a different SimScorer - */ -public class ScoringWrapperSpans extends Spans { - - private final Spans in; - - /** - * Creates a new ScoringWrapperSpans - * @param spans the scorer to wrap - * @param simScorer the SimScorer to use for scoring - */ - public ScoringWrapperSpans(Spans spans, Similarity.SimScorer simScorer) { - this.in = spans; - } - - @Override - public int nextStartPosition() throws IOException { - return in.nextStartPosition(); - } - - @Override - public int startPosition() { - return in.startPosition(); - } - - @Override - public int endPosition() { - return in.endPosition(); - } - - @Override - public int width() { - return in.width(); - } - - @Override - public void collect(SpanCollector collector) throws IOException { - in.collect(collector); - } - - @Override - public int docID() { - return in.docID(); - } - - @Override - public int nextDoc() throws IOException { - return in.nextDoc(); - } - - @Override - public int advance(int target) throws IOException { - return in.advance(target); - } - - @Override - public long cost() { - return in.cost(); - } - - @Override - public TwoPhaseIterator asTwoPhaseIterator() { - return in.asTwoPhaseIterator(); - } - - @Override - public float positionsCost() { - return in.positionsCost(); - } -} diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanNotQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanNotQuery.java index 0984bd9b593..05d3f8ef481 100644 --- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanNotQuery.java +++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanNotQuery.java @@ -126,7 +126,7 @@ public final class SpanNotQuery extends SpanQuery { Spans excludeSpans = excludeWeight.getSpans(context, requiredPostings); if (excludeSpans == null) { - return new ScoringWrapperSpans(includeSpans, getSimScorer(context)); + return includeSpans; } TwoPhaseIterator excludeTwoPhase = excludeSpans.asTwoPhaseIterator(); diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanOrQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanOrQuery.java index e273dd99651..15abc7ddb27 100644 --- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanOrQuery.java +++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanOrQuery.java @@ -161,7 +161,7 @@ public final class SpanOrQuery extends SpanQuery { if (subSpans.size() == 0) { return null; } else if (subSpans.size() == 1) { - return new ScoringWrapperSpans(subSpans.get(0), getSimScorer(context)); + return subSpans.get(0); } DisiPriorityQueue byDocQueue = new DisiPriorityQueue(subSpans.size());