Package org.opencms.search
Class CmsSearchCategoryCollector
- java.lang.Object
-
- org.apache.lucene.search.SimpleCollector
-
- org.opencms.search.CmsSearchCategoryCollector
-
- All Implemented Interfaces:
org.apache.lucene.search.Collector
,org.apache.lucene.search.LeafCollector
public class CmsSearchCategoryCollector extends org.apache.lucene.search.SimpleCollector
Collects category information during a search process.Please note: The calculation of the category count slows down the search time by an order of magnitude. Make sure that you only use this feature if it's really required! Be especially careful if your search result list can become large (> 1000 documents), since in this case overall system performance will certainly be impacted considerably when calculating the categories.
- Since:
- 6.0.0
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
UNKNOWN_CATEGORY
Category used in case the document belongs to no category.
-
Constructor Summary
Constructors Constructor Description CmsSearchCategoryCollector(org.apache.lucene.search.IndexSearcher searcher)
Creates a new category search collector instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
collect(int id)
protected void
doSetNextReader(org.apache.lucene.index.LeafReaderContext ctx)
static java.lang.String
formatCategoryMap(java.util.Map<java.lang.String,java.lang.Integer> categories)
Convenience method to format a map of categories in a nice 2 column list, for example for display of debugging output.java.util.Map<java.lang.String,java.lang.Integer>
getCategoryCountResult()
Returns the category count result, the returned map contains Strings (category names) mapped to an Integer (the count).org.apache.lucene.search.ScoreMode
scoreMode()
java.lang.String
toString()
-
-
-
Field Detail
-
UNKNOWN_CATEGORY
public static final java.lang.String UNKNOWN_CATEGORY
Category used in case the document belongs to no category.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CmsSearchCategoryCollector
public CmsSearchCategoryCollector(org.apache.lucene.search.IndexSearcher searcher)
Creates a new category search collector instance.- Parameters:
searcher
- the index searcher used
-
-
Method Detail
-
formatCategoryMap
public static final java.lang.String formatCategoryMap(java.util.Map<java.lang.String,java.lang.Integer> categories)
Convenience method to format a map of categories in a nice 2 column list, for example for display of debugging output.- Parameters:
categories
- the map to format- Returns:
- the formatted category map
-
collect
public void collect(int id)
- Specified by:
collect
in interfaceorg.apache.lucene.search.LeafCollector
- Specified by:
collect
in classorg.apache.lucene.search.SimpleCollector
- See Also:
SimpleCollector.collect(int)
-
getCategoryCountResult
public java.util.Map<java.lang.String,java.lang.Integer> getCategoryCountResult()
Returns the category count result, the returned map contains Strings (category names) mapped to an Integer (the count).- Returns:
- the category count result
-
scoreMode
public org.apache.lucene.search.ScoreMode scoreMode()
- See Also:
Collector.scoreMode()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
- See Also:
Object.toString()
-
doSetNextReader
protected void doSetNextReader(org.apache.lucene.index.LeafReaderContext ctx)
- Overrides:
doSetNextReader
in classorg.apache.lucene.search.SimpleCollector
- See Also:
SimpleCollector.doSetNextReader(org.apache.lucene.index.LeafReaderContext)
-
-