Hi.

I'm about to build a community and I'm only starting to understand a bit more about faceted search. For shared hostings, Solr is usually not supported (my case). So I understand that Facet_api and/or Faceted Navigation for Search are good ways to get faceted search (with the limitations of a mysql database: ok for small sites).

I'm not shure to have understand the difference between those two modules. Do I need to eneble both of them? Or only one of them? Will Facet_api and/or Faceted Navigation for Search provide faceted search with Profile2 module?

How about Zend framework and Zend Lucene (http://drupal.org/project/zend_lucene)? Does Lucene offer faceted search? If so, do I need server side configuration like for Solr? If not, is lucene a better or just different way to get faceted search, compared to Facet_api and/or Faceted Navigation for Search?

Thanks for helping.

Comments

cpliakas’s picture

Priority: Minor » Normal

Hi Québec.

To clarify, Facet API is a common faceting framework used by modules such as Search API, Apache Solr Search Integration, and the core Search module. The Faceted Navigation For Search module is simply the connector between core Search and Facet API. The Facet API module does not actually calculate the facets, however it provides an abstraction layer to the implementing modules so that facet configurations and theming can be reused across backends, for example if you move from the core Search module (via Faceted Navigation for Search) to the more powerful Apache Solr Search Integration module. So regardless of the solution you plan on using, Facet API will be the base of your facet building experience.

Because Facet API relies on the backend module to do the actual facet calculations, functionality and performance do vary greatly. Core search will never scale beyond tens of thousands of nodes, especially with the aggregate facet queries. Even with thousands of nodes it can really tax your database slowing down your entire site. In addition, things like faceting on taxonomy hierarchies are not yet supported by Faceted Navigation for Search, although it is on the roadmap. You can follow the progress at #1391252: Add support hierarchical taxonomy facets.

In short, if you have a small site with basic facets, then Faceted Navigation for Search might be for you. If you want more robust faceting that will scale, definitely use either Apache Solr Search Integration or the Search API Solr search backend for Search API. If you cannot host Solr, check out hosted solutions such as Acquia Search that leverage the Apache Solr Search Integration module. AFAIK the Zend Lucene project (which is another backend for Search API) does not support faceting. Even if it did, my experiences with maintaining a search solution using ZF's Lucene component proved that the library isn't suited for faceted navigation. Even simple faceting can bring your site to a crawl without a really complex caching solution that has yet to be contributed. In case you or anyone else is curious, the caching nastiness was prototyped here.

Hope this helps,
Chris

cpliakas’s picture

Oh... and Profile 2 will not work with Faceted Navigation or Search without a lot of custom code, because the core Search module only indexes node content.

Québec’s picture

Thanks!

Things are definitly clearer now.

I see (1391252) that «flat taxonomies» are supported, so I guess that Faceted Navigation for Search will be my choice with Facet API!

Is there a solution for faceted search on Profile2 for people without access to Solr?

R.

cpliakas’s picture

Status: Active » Fixed

Is there a solution for faceted search on Profile2 for people without access to Solr?

Unfortunately I don't think so, because the core search module does not currently support indexing non-node data. See #1369544: Profile2's limitations for search and views for more info.

Thanks,
Chris

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.