Prevent usage of object based RamUsageEstimator in Completion090PostingsFormat
This commit is contained in:
parent
3e3170278e
commit
6e18a8945d
|
@ -204,6 +204,7 @@ public class AnalyzingCompletionLookupProvider extends CompletionLookupProvider
|
|||
|
||||
@Override
|
||||
public LookupFactory load(IndexInput input) throws IOException {
|
||||
long sizeInBytes = 0;
|
||||
int version = CodecUtil.checkHeader(input, CODEC_NAME, CODEC_VERSION_START, CODEC_VERSION_LATEST);
|
||||
final Map<String, AnalyzingSuggestHolder> lookupMap = new HashMap<String, AnalyzingSuggestHolder>();
|
||||
input.seek(input.length() - 8);
|
||||
|
@ -249,8 +250,10 @@ public class AnalyzingCompletionLookupProvider extends CompletionLookupProvider
|
|||
|
||||
AnalyzingSuggestHolder holder = new AnalyzingSuggestHolder(preserveSep, preservePositionIncrements, maxSurfaceFormsPerAnalyzedForm, maxGraphExpansions,
|
||||
hasPayloads, maxAnalyzedPathsForOneInput, fst, sepLabel, payloadSep, endByte, holeCharacter);
|
||||
sizeInBytes += fst.sizeInBytes();
|
||||
lookupMap.put(entry.getValue(), holder);
|
||||
}
|
||||
final long ramBytesUsed = sizeInBytes;
|
||||
return new LookupFactory() {
|
||||
@Override
|
||||
public Lookup getLookup(FieldMapper<?> mapper, CompletionSuggestionContext suggestionContext) {
|
||||
|
@ -309,6 +312,11 @@ public class AnalyzingCompletionLookupProvider extends CompletionLookupProvider
|
|||
AnalyzingSuggestHolder getAnalyzingSuggestHolder(FieldMapper<?> mapper) {
|
||||
return lookupMap.get(mapper.names().indexName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public long ramBytesUsed() {
|
||||
return ramBytesUsed;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -272,7 +272,7 @@ public class Completion090PostingsFormat extends PostingsFormat {
|
|||
|
||||
@Override
|
||||
public long ramBytesUsed() {
|
||||
return RamUsageEstimator.sizeOf(lookupFactory) + delegateProducer.ramBytesUsed();
|
||||
return (lookupFactory == null ? 0 : lookupFactory.ramBytesUsed()) + delegateProducer.ramBytesUsed();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -367,5 +367,6 @@ public class Completion090PostingsFormat extends PostingsFormat {
|
|||
public abstract Lookup getLookup(FieldMapper<?> mapper, CompletionSuggestionContext suggestionContext);
|
||||
public abstract CompletionStats stats(String ... fields);
|
||||
abstract AnalyzingCompletionLookupProvider.AnalyzingSuggestHolder getAnalyzingSuggestHolder(FieldMapper<?> mapper);
|
||||
public abstract long ramBytesUsed();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -224,7 +224,7 @@ public class AnalyzingCompletionLookupProviderV1 extends CompletionLookupProvide
|
|||
long offset = input.readVLong();
|
||||
meta.put(offset, name);
|
||||
}
|
||||
|
||||
long sizeInBytes = 0;
|
||||
for (Map.Entry<Long, String> entry : meta.entrySet()) {
|
||||
input.seek(entry.getKey());
|
||||
FST<Pair<Long, BytesRef>> fst = new FST<Pair<Long, BytesRef>>(input, new PairOutputs<Long, BytesRef>(
|
||||
|
@ -236,9 +236,11 @@ public class AnalyzingCompletionLookupProviderV1 extends CompletionLookupProvide
|
|||
boolean preserveSep = (options & SERIALIZE_PRESERVE_SEPERATORS) != 0;
|
||||
boolean hasPayloads = (options & SERIALIZE_HAS_PAYLOADS) != 0;
|
||||
boolean preservePositionIncrements = (options & SERIALIZE_PRESERVE_POSITION_INCREMENTS) != 0;
|
||||
sizeInBytes += fst.sizeInBytes();
|
||||
lookupMap.put(entry.getValue(), new AnalyzingSuggestHolder(preserveSep, preservePositionIncrements, maxSurfaceFormsPerAnalyzedForm, maxGraphExpansions,
|
||||
hasPayloads, maxAnalyzedPathsForOneInput, fst));
|
||||
}
|
||||
final long ramBytesUsed = sizeInBytes;
|
||||
return new LookupFactory() {
|
||||
@Override
|
||||
public Lookup getLookup(FieldMapper<?> mapper, CompletionSuggestionContext suggestionContext) {
|
||||
|
@ -295,6 +297,11 @@ public class AnalyzingCompletionLookupProviderV1 extends CompletionLookupProvide
|
|||
AnalyzingSuggestHolder getAnalyzingSuggestHolder(FieldMapper<?> mapper) {
|
||||
return lookupMap.get(mapper.names().indexName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public long ramBytesUsed() {
|
||||
return ramBytesUsed;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue