public class OneDimensionalObjectHitCollector
extends org.apache.lucene.search.SimpleCollector
This HitCollector can be quite memory intensive, however the cache is stored with a weak reference, so it will be garbage collected.
This HitCollector differs from OneDimensionalTermHitCollector
in that it performs the term -> object
conversion here, rather than later. This is more expensive, but useful for StatisticsMappers that perform some sort
of runtime conversion / translation (eg a StatisticsMapper that groups dates by Month, or groups users by email
domain name).
Constructor and Description |
---|
OneDimensionalObjectHitCollector(String fieldName,
StatisticsMapper statisticsMapper,
Map result)
Creates a normal one-dimensional object hit collector.
|
OneDimensionalObjectHitCollector(String fieldName,
StatisticsMapper statisticsMapper,
Map result,
boolean isUnique)
Allows the caller to specify whether or not the hit collector may assume that the
field will never have more than one value for any issue.
|
Modifier and Type | Method and Description |
---|---|
void |
collect(int i) |
protected void |
doSetNextReader(org.apache.lucene.index.LeafReaderContext context) |
boolean |
needsScores() |
void |
setScorer(org.apache.lucene.search.Scorer scorer) |
public OneDimensionalObjectHitCollector(String fieldName, StatisticsMapper statisticsMapper, Map result)
OneDimensionalObjectHitCollector(String, StatisticsMapper, Map, boolean)
} with
false provided for isUnique, which should be safe for use with all fields.
However, if it is known in advance that the field contains at most one value for the field,
then specifying isUnique will be more efficient.statisticsMapper
- provides the information required to map the fieldresult
- the map to which the result will be published@ExperimentalApi public OneDimensionalObjectHitCollector(String fieldName, StatisticsMapper statisticsMapper, Map result, boolean isUnique)
statisticsMapper
- provides the information required to map the fieldresult
- the map to which the result will be publishedisUnique
- true if the field can safely be assumed to have at most one value
for any issue; false if the field might be allowed to contain multiple values
per issuepublic void collect(int i) throws IOException
collect
in interface org.apache.lucene.search.LeafCollector
collect
in class org.apache.lucene.search.SimpleCollector
IOException
public void setScorer(org.apache.lucene.search.Scorer scorer) throws IOException
setScorer
in interface org.apache.lucene.search.LeafCollector
setScorer
in class org.apache.lucene.search.SimpleCollector
IOException
protected void doSetNextReader(org.apache.lucene.index.LeafReaderContext context) throws IOException
doSetNextReader
in class org.apache.lucene.search.SimpleCollector
IOException
public boolean needsScores()
Copyright © 2002-2023 Atlassian. All Rights Reserved.