mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-13 08:25:26 +00:00
use static TL for common numeric precision values
This commit is contained in:
parent
1c921aebe5
commit
4a97af3cd4
@ -126,6 +126,27 @@ public abstract class NumberFieldMapper<T extends Number> extends AbstractFieldM
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private static ThreadLocal<NumericTokenStream> tokenStream4 = new ThreadLocal<NumericTokenStream>() {
|
||||||
|
@Override
|
||||||
|
protected NumericTokenStream initialValue() {
|
||||||
|
return new NumericTokenStream(4);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private static ThreadLocal<NumericTokenStream> tokenStream8 = new ThreadLocal<NumericTokenStream>() {
|
||||||
|
@Override
|
||||||
|
protected NumericTokenStream initialValue() {
|
||||||
|
return new NumericTokenStream(8);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private static ThreadLocal<NumericTokenStream> tokenStreamMax = new ThreadLocal<NumericTokenStream>() {
|
||||||
|
@Override
|
||||||
|
protected NumericTokenStream initialValue() {
|
||||||
|
return new NumericTokenStream(Integer.MAX_VALUE);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
protected NumberFieldMapper(Names names, int precisionStep, float boost, FieldType fieldType,
|
protected NumberFieldMapper(Names names, int precisionStep, float boost, FieldType fieldType,
|
||||||
Explicit<Boolean> ignoreMalformed, NamedAnalyzer indexAnalyzer,
|
Explicit<Boolean> ignoreMalformed, NamedAnalyzer indexAnalyzer,
|
||||||
NamedAnalyzer searchAnalyzer, PostingsFormatProvider provider, SimilarityProvider similarity,
|
NamedAnalyzer searchAnalyzer, PostingsFormatProvider provider, SimilarityProvider similarity,
|
||||||
@ -248,10 +269,18 @@ public abstract class NumberFieldMapper<T extends Number> extends AbstractFieldM
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void close() {
|
public void close() {
|
||||||
tokenStream.remove();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected NumericTokenStream popCachedStream() {
|
protected NumericTokenStream popCachedStream() {
|
||||||
|
if (precisionStep == 4) {
|
||||||
|
return tokenStream4.get();
|
||||||
|
}
|
||||||
|
if (precisionStep == 8) {
|
||||||
|
return tokenStream8.get();
|
||||||
|
}
|
||||||
|
if (precisionStep == Integer.MAX_VALUE) {
|
||||||
|
return tokenStreamMax.get();
|
||||||
|
}
|
||||||
return tokenStream.get();
|
return tokenStream.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user