@Internal public abstract class

AbstractOneDimensionalHitCollector

extends Collector
java.lang.Object
   ↳ org.apache.lucene.search.Collector
     ↳ com.atlassian.jira.issue.statistics.util.AbstractOneDimensionalHitCollector
Known Direct Subclasses

@Internal

This class is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Class Overview

Used to traverse a query and collect if the specified one dimension is relevant, this will keep track of the irrelevant count.

This class implements Collector which is a callback mechanism for use by IndexSearcher, but it is widely abused and called directly from within JIRA.

Summary

Public Constructors
AbstractOneDimensionalHitCollector(String documentFieldId, IndexReader indexReader, FieldVisibilityManager fieldVisibilityManager, ReaderCache readerCache, FieldManager fieldManager, ProjectManager projectManager)
This constructor is deprecated. since v5.1.8. Use AbstractOneDimensionalHitCollector(String, FieldVisibilityManager, ReaderCache, FieldManager, ProjectManager) and call setNextReader for each reader segment, that is if you are calling {@link #collect(int) directly and not just passing the Collector to Lucene.
AbstractOneDimensionalHitCollector(String documentFieldId, FieldVisibilityManager fieldVisibilityManager, ReaderCache readerCache, FieldManager fieldManager, ProjectManager projectManager)
AbstractOneDimensionalHitCollector(String documentFieldId, FieldVisibilityManager fieldVisibilityManager, ReaderCache readerCache, FieldManager fieldManager)
Public Methods
boolean acceptsDocsOutOfOrder()
void collect(int i)
Collect hits.
long getHitCount()
Returns the number of times the collect(int) method was called.
long getIrrelevantCount()
void setNextReader(IndexReader reader, int docBase)
void setScorer(Scorer scorer)
Protected Methods
abstract void collectIrrelevant(int docId)
Implement this if you would like to do something when the hit collector has encountered a docId that contains an irrelevant data match
abstract void collectWithTerms(int docId, Collection<String> terms)
Implement this if you would like to do something with the hit we have found.
[Expand]
Inherited Methods
From class org.apache.lucene.search.Collector
From class java.lang.Object

Public Constructors

public AbstractOneDimensionalHitCollector (String documentFieldId, IndexReader indexReader, FieldVisibilityManager fieldVisibilityManager, ReaderCache readerCache, FieldManager fieldManager, ProjectManager projectManager)

This constructor is deprecated.
since v5.1.8. Use AbstractOneDimensionalHitCollector(String, FieldVisibilityManager, ReaderCache, FieldManager, ProjectManager) and call setNextReader for each reader segment, that is if you are calling {@link #collect(int) directly and not just passing the Collector to Lucene.

public AbstractOneDimensionalHitCollector (String documentFieldId, FieldVisibilityManager fieldVisibilityManager, ReaderCache readerCache, FieldManager fieldManager, ProjectManager projectManager)

public AbstractOneDimensionalHitCollector (String documentFieldId, FieldVisibilityManager fieldVisibilityManager, ReaderCache readerCache, FieldManager fieldManager)

Public Methods

public boolean acceptsDocsOutOfOrder ()

public void collect (int i)

Collect hits. When accessing our value caches we do not need to increment i by the docBase as the value caches are built against the current (segment) reader. When calling the abstract collectXXX() methods these expect the index of the whole reader and so we need to use (i + docBase)

Parameters
i Index to the current reader

public long getHitCount ()

Returns the number of times the collect(int) method was called. This should return the number of unique issues that was matched during a search.

Returns

public long getIrrelevantCount ()

public void setNextReader (IndexReader reader, int docBase)

public void setScorer (Scorer scorer)

Throws
IOException

Protected Methods

protected abstract void collectIrrelevant (int docId)

Implement this if you would like to do something when the hit collector has encountered a docId that contains an irrelevant data match

Parameters
docId the match we have found. This is an index into the overall directory reader.

protected abstract void collectWithTerms (int docId, Collection<String> terms)

Implement this if you would like to do something with the hit we have found.

Parameters
docId the doc id of the hit. This is an index into the overall directory reader.
terms the terms for the fieldId for this document, pre-calculated so you may not need to call getDocument