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
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
Modifier and TypeFieldDescriptionstatic final String
Category used in case the document belongs to no category. -
Constructor Summary
ConstructorDescriptionCmsSearchCategoryCollector
(org.apache.lucene.search.IndexSearcher searcher) Creates a new category search collector instance. -
Method Summary
Modifier and TypeMethodDescriptionvoid
collect
(int id) protected void
doSetNextReader
(org.apache.lucene.index.LeafReaderContext ctx) static final String
formatCategoryMap
(Map<String, Integer> categories) Convenience method to format a map of categories in a nice 2 column list, for example for display of debugging output.Returns the category count result, the returned map contains Strings (category names) mapped to an Integer (the count).org.apache.lucene.search.ScoreMode
toString()
Methods inherited from class org.apache.lucene.search.SimpleCollector
getLeafCollector, setScorer
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.lucene.search.Collector
setWeight
Methods inherited from interface org.apache.lucene.search.LeafCollector
collect, competitiveIterator, finish
-
Field Details
-
UNKNOWN_CATEGORY
Category used in case the document belongs to no category.- See Also:
-
-
Constructor Details
-
CmsSearchCategoryCollector
Creates a new category search collector instance.- Parameters:
searcher
- the index searcher used
-
-
Method Details
-
formatCategoryMap
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
- Specified by:
collect
in interfaceorg.apache.lucene.search.LeafCollector
- Specified by:
collect
in classorg.apache.lucene.search.SimpleCollector
- See Also:
-
SimpleCollector.collect(int)
-
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
- See Also:
-
Collector.scoreMode()
-
toString
-
doSetNextReader
- Overrides:
doSetNextReader
in classorg.apache.lucene.search.SimpleCollector
- See Also:
-
SimpleCollector.doSetNextReader(org.apache.lucene.index.LeafReaderContext)
-