Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Solr Wiki" for change 
notification.

The "SolrFacetingOverview" page has been changed by ChrisHarris.
The comment on this change is: Updating conditions under which UnInvertedField  
is used.
http://wiki.apache.org/solr/SolrFacetingOverview?action=diff&rev1=14&rev2=15

--------------------------------------------------

  
      * '''Enum Based Field Queries''':  If {{{facet.method=enum}}} or the 
field is defined in the schema as boolean, then Solr will iterate over all of 
the indexed terms for the field, and for each term it will get a filter from 
the filterCache and calculate the intersection with the filter for the base 
query.  This is excellent for fields where there is a small set of distinct 
values.  The average number of values per document does not matter.  For 
example, faceting on a field with U.S. States e.g. `Alabama, Alaska, ... 
Wyoming` would lead to fifty cached filters which would be used over and over 
again. The [[SolrCaching#filterCache|filterCache]] should be large enough to 
hold all of the cached filters.
  
-     * '''Field Cache''': If {{{facet.method=fc}}} then a field-cache approach 
will be used.  This is currently implemented using either the the Lucene 
[[http://lucene.apache.org/java/docs/api/org/apache/lucene/search/FieldCache.html|FieldCache]]
 or (starting in Solr 1.4) an !UnInvertedField if the field is multi-valued.  
Each document is looked up in the cache to see what terms/values it contains, 
and a tally is incremented for each value.  This is excellent for situations 
where the number of indexed values for the field is high, but the number of 
values per document is low.  For multi-valued fields, a hybrid approach is used 
that uses term filters from the filterCache for terms that match many documents.
+     * '''Field Cache''': If {{{facet.method=fc}}} then a field-cache approach 
will be used.  This is currently implemented using either the the Lucene 
[[http://lucene.apache.org/java/docs/api/org/apache/lucene/search/FieldCache.html|FieldCache]]
 or (starting in Solr 1.4) an !UnInvertedField if the field either is 
multi-valued or is tokenized (according to FieldType.isTokened()). Each 
document is looked up in the cache to see what terms/values it contains, and a 
tally is incremented for each value.  This is excellent for situations where 
the number of indexed values for the field is high, but the number of values 
per document is low.  For multi-valued fields, a hybrid approach is used that 
uses term filters from the filterCache for terms that match many documents.
  

Reply via email to