org.apache.solr.update.processor
Class CountFieldValuesUpdateProcessorFactory
java.lang.Object
org.apache.solr.update.processor.UpdateRequestProcessorFactory
org.apache.solr.update.processor.FieldMutatingUpdateProcessorFactory
org.apache.solr.update.processor.CountFieldValuesUpdateProcessorFactory
- All Implemented Interfaces:
- NamedListInitializedPlugin, SolrCoreAware
public final class CountFieldValuesUpdateProcessorFactory
- extends FieldMutatingUpdateProcessorFactory
Replaces any list of values for a field matching the specified
conditions with the the count of the number of values for that field.
By default, this processor matches no fields.
The typical use case for this processor would be in combination with the
CloneFieldUpdateProcessorFactory so that it's possible to query by
the quantity of values in the source field.
For example, in the configuration below, the end result will be that the
category_count field can be used to search for documents based
on how many values they contain in the category field.
<updateRequestProcessorChain>
<processor class="solr.CloneFieldUpdateProcessorFactory">
<str name="source">category</str>
<str name="dest">category_count</str>
</processor>
<processor class="solr.CountFieldValuesUpdateProcessorFactory">
<str name="fieldName">category_count</str>
</processor>
<processor class="solr.DefaultValueUpdateProcessorFactory">
<str name="fieldName">category_count</str>
<int name="value">0</int>
</processor>
</updateRequestProcessorChain>
NOTE: The use of DefaultValueUpdateProcessorFactory is
important in this example to ensure that all documents have a value for the
category_count field, because
CountFieldValuesUpdateProcessorFactory only replaces the
list of values with the size of that list. If
DefaultValueUpdateProcessorFactory was not used, then any
document that had no values for the category field, would also
have no value in the category_count field.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CountFieldValuesUpdateProcessorFactory
public CountFieldValuesUpdateProcessorFactory()
getInstance
public UpdateRequestProcessor getInstance(SolrQueryRequest req,
SolrQueryResponse rsp,
UpdateRequestProcessor next)
- Specified by:
getInstance in class UpdateRequestProcessorFactory
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.