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 2009/10/25 23:33:45 UTC

[Solr Wiki] Update of "SolrFacetingOverview" by YonikSeeley

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 YonikSeeley.
The comment on this change is: try to add a bit of explanation about what faceted search actually is, also link to lucid article for intro.
http://wiki.apache.org/solr/SolrFacetingOverview?action=diff&rev1=13&rev2=14

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

+ = What is Faceted Search =
+ From the user perspective, faceted search (also called faceted navigation, guided navigation, or parametric search) break up search results into multiple categories, typically showing counts for each, and allow the user to "drill down" or further restrict their search results based on those facets.
+ 
- Solr provides a [[http://wiki.apache.org/solr/SimpleFacetParameters|faceting component]] which is part of the standard request handler and can be used by various other request handlers to include "Facet counts" based on some simple criteria.
+ Solr provides a [[http://wiki.apache.org/solr/SimpleFacetParameters|faceting component]] which is part of the standard request handler and can also be used by various other request handlers to include "Facet counts" based on some simple criteria. [[http://www.lucidimagination.com/Community/Hear-from-the-Experts/Articles/Faceted-Search-Solr|Faceted Search with Solr]]
+ article provides a good introduction to how faceting works with Solr.
  
  This page briefly provides some general background information: 
  
@@ -42, +46 @@

  
      * '''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 multivalued or tokenized.  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 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.