We've had great success using Faceted Search on www.urbanministry.org, except for the amount of resources it seems to consume. It seems to show up on the slowqueries log a lot, and we think the fact that we have Faceted Search blocks in the left sidebar of all our themes may be the reason.

We also are using the 5.x-1.x-dev version of Block Cache and are wondering: Is it all right to use the cached copy of the Faceted Search blocks? Or does that cause the module to behave oddly?

Evan Donovan
Online Publications Editor, TechMission
www.urbanministry.org/user/evandonovan
evan@techmission.org

Comments

David Lesieur’s picture

Yes, Faceted Search consumes lots of resources and some queries are problematic. You might want to test the -dev version, which should (slightly) improve performance. I haven't tried the Block Cache module... However, with faceted browsing interfaces in general, caching might not be a very good solution due to the high number of search term combinations. The more search terms we have in a search, the more wasteful it becomes to cache it...

We're asking a lot to SQL with this kind of module. For sites with large amounts of content or high traffic, we'll probably have to consider dedicated search engines such as Solr or Sphinx. For some, even the Drupal core search is too slow. You might want to follow the discussions in the Search group, as these things are increasingly being discussed.

I hope to evaluate Solr and/or Sphinx soon, but adapting Faceted Search to integrate with these systems is likely to require significant work.

EvanDonovan’s picture

Thanks for the information. I'll look into the resources you suggested further.

I am assuming that the reason you say it becomes wasteful to cache the Faceted Search blocks is because users could have any arbitrary combination of terms selected in the faceted search block.

However, most of the time users are viewing pages without a faceted search currently active. Would it be possible to have a faceted search block that pulls the top terms from a cache if there's not a search currently active, but otherwise does the query on-the-fly?

alsears’s picture

Is there any more response to the above question? I would love to be able to use the cached version when I can, but fall back to a dynamic query for things that aren't cached.

Any thoughts on how this might be done or if it is possible?

EvanDonovan’s picture

After further testing on our development site, it appears that the Faceted Search content drilldown does not work with cached copies of the blocks.

Exploring alternatives, I've looked into Apache Solr a little bit - do you have a rough idea of how much of the functionality of Faceted Search can be obtained through that system?

EvanDonovan’s picture

Status: Active » Closed (fixed)

If normal mode site caching is enabled, it does not make as significant a difference whether the normal or cached versions of the Faceted Search blocks are used, since most of our users are anonymous. I don't think that it would be particularly useful (or maybe even possible) for the drilldown to work with the cached versions, so I am closing this issue.