mirror of
https://github.com/apache/lucene.git
synced 2025-03-01 05:49:33 +00:00
LUCENE-9395: ConstantValuesSource now shares a single DoubleValues instance across all segments
This commit is contained in:
parent
7d5b617973
commit
d894a7e8d7
@ -180,7 +180,9 @@ Improvements
|
||||
|
||||
Optimizations
|
||||
---------------------
|
||||
(No changes)
|
||||
|
||||
* LUCENE-9395: ConstantValuesSource now shares a single DoubleValues
|
||||
instance across all segments (Tony Xu)
|
||||
|
||||
Bug Fixes
|
||||
---------------------
|
||||
|
@ -268,21 +268,12 @@ public abstract class DoubleValuesSource implements SegmentCacheable {
|
||||
|
||||
private static class ConstantValuesSource extends DoubleValuesSource {
|
||||
|
||||
private final DoubleValues doubleValues;
|
||||
private final double value;
|
||||
|
||||
private ConstantValuesSource(double value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleValuesSource rewrite(IndexSearcher searcher) {
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public DoubleValues getValues(LeafReaderContext ctx, DoubleValues scores) throws IOException {
|
||||
return new DoubleValues() {
|
||||
this.doubleValues = new DoubleValues() {
|
||||
@Override
|
||||
public double doubleValue() throws IOException {
|
||||
return value;
|
||||
@ -295,6 +286,17 @@ public abstract class DoubleValuesSource implements SegmentCacheable {
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoubleValuesSource rewrite(IndexSearcher searcher) {
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public DoubleValues getValues(LeafReaderContext ctx, DoubleValues scores) throws IOException {
|
||||
return doubleValues;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsScores() {
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user