Class SelectCustomFieldIndexer
java.lang.Object
com.atlassian.jira.search.issue.index.indexers.impl.BaseCustomFieldIndexer
com.atlassian.jira.search.issue.index.indexers.impl.SelectCustomFieldIndexer
- All Implemented Interfaces:
CustomFieldIndexer
,FieldIndexer
A custom field indexer for the multi select custom fields (e.g. check boxes).
- Since:
- 10.4
-
Field Summary
Fields inherited from class com.atlassian.jira.search.issue.index.indexers.impl.BaseCustomFieldIndexer
customField, field
Fields inherited from interface com.atlassian.jira.search.issue.index.indexers.FieldIndexer
LABELS_NO_VALUE_INDEX_VALUE, NO_VALUE_INDEX_VALUE
-
Constructor Summary
ConstructorsConstructorDescriptionSelectCustomFieldIndexer
(FieldVisibilityManager fieldVisibilityManager, CustomField customField) -
Method Summary
Modifier and TypeMethodDescriptionvoid
indexFields
(FieldValueCollector collector, Issue issue, CustomFieldPrefetchedData prefetchedData) This method allows an indexer the opportunity to add values to the provided collector that are relevant for searching and storage of the portion of the issue that the FieldIndexer handles.boolean
Used to declare how the indexer handles nulls.Methods inherited from class com.atlassian.jira.search.issue.index.indexers.impl.BaseCustomFieldIndexer
getCustomField, getFields, getId, indexField, isFieldVisibleAndInScope
-
Constructor Details
-
SelectCustomFieldIndexer
public SelectCustomFieldIndexer(FieldVisibilityManager fieldVisibilityManager, CustomField customField)
-
-
Method Details
-
indexFields
public void indexFields(FieldValueCollector collector, Issue issue, CustomFieldPrefetchedData prefetchedData) Description copied from interface:FieldIndexer
This method allows an indexer the opportunity to add values to the provided collector that are relevant for searching and storage of the portion of the issue that the FieldIndexer handles.If, for example, the indexer handles indexing an issues summary then this indexer will add a field value to the collector that represents the stored and searchable summary of the issue.
Note that trying to index very large (i.e. larger than ~32 kB) fields as
KeywordField
will result in them being removed to prevent the indexing operation from crashing. This is a limitation of how OpenSearch and Lucene store terms.- Parameters:
collector
- the collector for collecting indexed valuesissue
- the issue that contains the data that will be indexed and which can be used to determine the project/issue type context that will allow you to determine if we should add the value as searchable or unsearchable.prefetchedData
- if the custom field type implementedCustomFieldType.getNonNullCustomFieldProvider()
this reference will hold the matching value returned fromNonNullCustomFieldProvider.getCustomFieldInfo(List <Issue>)
-
skipsIndexingNull
public boolean skipsIndexingNull()Description copied from interface:FieldIndexer
Used to declare how the indexer handles nulls.- Returns:
- true if the indexer doesn't do anything when the field value is null
-