Package org.apache.solr.update.processor
Class UniqFieldsUpdateProcessorFactory
- java.lang.Object
-
- org.apache.solr.update.processor.UpdateRequestProcessorFactory
-
- org.apache.solr.update.processor.FieldMutatingUpdateProcessorFactory
-
- org.apache.solr.update.processor.FieldValueSubsetUpdateProcessorFactory
-
- org.apache.solr.update.processor.UniqFieldsUpdateProcessorFactory
-
- All Implemented Interfaces:
NamedListInitializedPlugin
,SolrCoreAware
public class UniqFieldsUpdateProcessorFactory extends FieldValueSubsetUpdateProcessorFactory
Removes duplicate values found in fields matching the specified conditions. The existing field values are iterated in order, and values are removed when they are equal to a value that has already been seen for this field.By default this processor matches no fields.
In the example configuration below, if a document initially contains the values
"Steve","Lucy","Jim",Steve","Alice","Bob","Alice"
in a field namedfoo_uniq
then using this processor will result in the final list of field values being"Steve","Lucy","Jim","Alice","Bob"
<processor class="solr.UniqFieldsUpdateProcessorFactory"> <str name="fieldRegex">.*_uniq</str> </processor>
- Since:
- 3.4.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.update.processor.FieldMutatingUpdateProcessorFactory
FieldMutatingUpdateProcessorFactory.SelectorParams
-
Nested classes/interfaces inherited from class org.apache.solr.update.processor.UpdateRequestProcessorFactory
UpdateRequestProcessorFactory.RunAlways
-
-
Constructor Summary
Constructors Constructor Description UniqFieldsUpdateProcessorFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FieldMutatingUpdateProcessor.FieldNameSelector
getDefaultSelector(SolrCore core)
Defines the default selection behavior when the user has not configured any specific criteria for selecting fields.<T> Collection<T>
pickSubset(Collection<T> values)
Method subclasses must override to specify which values should be kept.-
Methods inherited from class org.apache.solr.update.processor.FieldValueSubsetUpdateProcessorFactory
getInstance
-
Methods inherited from class org.apache.solr.update.processor.FieldMutatingUpdateProcessorFactory
getSelector, inform, init, parseSelectorExclusionParams, parseSelectorParams
-
-
-
-
Method Detail
-
getDefaultSelector
public FieldMutatingUpdateProcessor.FieldNameSelector getDefaultSelector(SolrCore core)
Description copied from class:FieldMutatingUpdateProcessorFactory
Defines the default selection behavior when the user has not configured any specific criteria for selecting fields. The Default implementation matches all fields, and should be overridden by subclasses as needed.- Overrides:
getDefaultSelector
in classFieldMutatingUpdateProcessorFactory
- See Also:
FieldMutatingUpdateProcessor.SELECT_ALL_FIELDS
-
pickSubset
public <T> Collection<T> pickSubset(Collection<T> values)
Description copied from class:FieldValueSubsetUpdateProcessorFactory
Method subclasses must override to specify which values should be kept. This method will not be called unless the collection contains more then one value.- Specified by:
pickSubset
in classFieldValueSubsetUpdateProcessorFactory
-
-