You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by Apache Wiki <wi...@apache.org> on 2010/02/03 20:30:04 UTC

[Solr Wiki] Trivial Update of "SolrFacetingOverview" by ChrisHarris

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: Update link to FieldCache javadocs.
http://wiki.apache.org/solr/SolrFacetingOverview?action=diff&rev1=15&rev2=16

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

  
      * '''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 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.
+     * '''Field Cache''': If {{{facet.method=fc}}} then a field-cache approach will be used.  This is currently implemented using either the the Lucene [[http://hudson.zones.apache.org/hudson/job/Lucene-trunk/javadoc/all/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.