What about a D7 port, is there any release plan ?

Comments

David Lesieur’s picture

Title: D7 port » Drupal 7 port

There are no plans at the moment to port Faceted Search to Drupal 7.

Faceted Search has been a great experiment, however it does not scale well to thousands of nodes, and I don't see a lot of room left to further optimize its SQL queries. Of course, one could think of implementing clever caching strategies or trying wholly different search algorithms, but even if that eventually paid off in speed, we'd still be far behind search engines like Lucene/Solr in terms of features.

Using specialized search systems (Solr, Sphinx, Xapian, or others) is the way to go. On a number of projects I have obtained fantastic results with Solr, the Apache Solr Search Integration module, and customizations.

One of the strengths of Faceted Search is that it is very easy to deploy, having the same requirements as Drupal. However, as engines like Solr become more popular and offered as hosted services, they will only continue to become increasingly easier to deploy. I don't think that overcoming deployment issues is a sufficient reason to continue maintaining Faceted Search as it is.

I still find that Faceted Search does look somewhat better out-of-the-box than the Apache Solr module, and that Faceted Search's UI feels more polished. I also find that I often have to code in more customizations for Solr than I would like to (although it's great to be able to alter its behavior in various ways). However, none of those issues are insurmountable. Lots of effort is being put into Apache Solr and its legion of associated modules. The right thing to do, I think, is to join that effort. I have submitted a few patches for Apache Solr in the past, and hope to submit more in the future.

Faceted Search might not be dead however. I'd like to leave a door open for a complete rewrite in the future. I don't have a clear idea of what it would look like, but if it happens, it is likely to build upon Solr.

Related discussion: #374092: Faceted Search vs. Apache Solr module: Strengths & Weaknesses

mkalbere’s picture

ok, I understand your point. But I'm not so sure about the "engines like Solr become more popular and offered as hosted services".
Faceted search is (was) very interesting for small website to which you want to give some advanced search features. And by the way, I have a 3000 nodes website, running pretty fluently "faceted search".
Maybe http://drupal.org/project/luceneapi will be an alternative for such scenarios.
Anyway : thanks for your answer & your participation to that great project.

joel_guesclin’s picture

I don't know how things will develop but so far my attempts to use the Lucene API (based on the Zend implementation not Apache Solr) have not been very satisfactory (problems with indexing - maybe my fault not understanding the installation process though). I can understand the problems with performance: I installed Faceted Search on my site and had to take it off again because of the massive memory hit - but looking at the logs, it is clear that the functionality was a rave success. As it stands, the Faceted Search interface is vastly superior to the Lucene API one, and I would love to see the two brought together.

David Lesieur’s picture

Under D7, it looks like the proper framework to bring various search engines together will be Search API. Don't miss the amazing screencast.

gister’s picture

I tried both Search API and Lucene API, with no success (I am going to spare you from the details).

Can you please clarify if there is any other way to use faceted search in D7 ?!?!

sparkweb’s picture

Hello David. I have a site with about 2000+- nodes on which we were previously using Acquia's implementation of Solr search. For various reasons, the main one being finances, the site owner did not renew the Acquia subscription. One thing you are not mentioning when you talk about ease implementation not being a good reason to continue development of your Faceted Search is that hosted services like Acquia cost a $350/year. Having a low-cost alternative, as well as something that just installs into a Drupal, are both pretty powerful reasons for the continued existence of your module.

But I'm not here to convince you otherwise, nor am I a smart enough to know how to do anything else with it to make it scale better. I mainly just want to know what the cut-off point is at which it stops scaling well and starts bogging down the system. Drupal is already a giant enough memory hog as it is. I just want to know if 2000 nodes, which are comprised of short articles, would be too much for Faceted Search.

Of course, the question is, what system is it on? Well I was using shared hosting for awhile, and then installed Boost, which has created some serious issues crawling the site and overloading the server, and for that and other reasons I am probably moving the site to a Linux VPS system which has at least 2 gigs RAM and runs I think on a quad core processor.

Thanks B)

David Lesieur’s picture

@sparkweb: Well, since you are moving to a Linux VPS system and are already using the Apache Solr Search module, I'd recommend that you install Solr and continue using it.

Regarding Faceted Search's performance, you might want to read http://drupal.org/node/347952.

bmnic’s picture

subscribing

drunken monkey’s picture

Shameless plug (although David already mentioned it — thanks for that!): starting with the next (Beta 6) release, the Search API module will now support faceted searches using just the database!
Currently, the patch needs review, so if you are interested please try it out: #1013632: Support facets for database based searches. Or just visit in a few days to get the Beta 6 with the finished feature. ;)

clashar’s picture

+1

davidseth’s picture

Search API now in beta 8 fully supports faceting for database backends. No solr required. http://drupal.org/project/search_api

Watch the 16 min screencast to get the hang of installing it: http://vimeo.com/15556855

I have been using it recently and it is great! The Views integration and ease of creating facets is so refreshing (in comparison to the Apache Solr module).

Cheers,

David

Shadlington’s picture

Yeah, I'd second that. Search API rocks.

behanner’s picture

I'm new to drupal so I am not sure proper procedures of how things have to be implemented but has anyone considered creating an implementation based on CLucene. It should work cross platform and should be very efficient as it is in C instead of PhP or Java.

j0rd’s picture

Faceted Search is the module I like to use the most on my installs. This has nothing to do with the ease of "deploy-ability", but because it's the easiest, fastest to get done what I need and looks the best of out the box. I know it will run into performance issues, but most of the sites I develop are for small / medium sized businesses. For me (as the developer) faceted_search gets me the functionality I need quickly and fast enough and lets me move into other features.

Also I'm not sure if the others modules (solr / lucern) have the views integration, which I like.

With that said, I'd love to see faceted search in D7, but perhaps build it on top of Solr. Make the superset module as easy to use as the previous D6 version, but with a different backend. I'd love this!

My two cents.

PS. I just made created an easy way to do sorting with faceted_search in views in another issues queue. It could be added to the module fairly simply, if someone would write a admin interface for it.

Shadlington’s picture

j0rd, are you aware that Search API allows multiple backends?
I personally use it with solr, but it provides a database backend as a sub-module which also supports facets.

So you should be able to do everything you can do with faceted search using Search API. Perhaps more, even.

Search API is really where its at. Anyone looking at this issue should definitely try it out.
Don't forget to look at the available contributed modules too!

j0rd’s picture

Actually I just watched a Search API video on vimeo after writing this. Yes, it looks like this will be what I'll be using in D7.

Thanks for the heads up.

Jordan
--
Drupal Commerce

matslats’s picture

David, this module is invaluable, but I've had so many problems getting it (and its contrib children) to work.
Can you at least make a v1 release for version 6?

cpliakas’s picture

David,

What might be an interesting idea is to make "Faceted Search" be a core Search implementation of Facet API. I understand that SQL-based search doesn't scale well, but this way there will at least be a direct upgrade path to Apache Solr and other more scalable backends since configuration and custom code can be reused across projects. Facet API is heavily influenced by Faceted Search, so it could be a great way to continue what this module started.

I think this would be a strategic move for Drupal search as a whole because it would allow for people in the core Search, Apache Solr, and Search Lucene API communities to join forces and build interesting interfaces that work across all modules. To the outside world, Drupal is seen as a weak platform for search-enabled applications, but allowing all of Drupal's search sub-communities to contributed to a consolidated codebase would help to shake this misconception.

I would be more than happy to help out, I just can't do it alone. I am willing to hop on Skype or IRC with anyone who wants to participate in this effort.

Thanks,
Chris

David Lesieur’s picture

Hi Chris,

Thank you for sharing your insights. I agree that having a basic SQL-based faceted search backend with a straight upgrade path to more powerful backends would be greatly beneficial to the Drupal community.

The neglect of Faceted Search (which I'm sorry to have to admit) and, to a lesser extent, of Drupal's core search, might all owe to the fact that it is probably harder to fund the effort of developing an SQL backend (which would be slower and have less features than other backends) than that of developing advanced features on top of engines like Lucene/Solr. At least that's my personal situation, where most of the projects I'm involved in need more advanced search features.

I hope that your call will be heard. Personally, I'll keep those ideas on the backburner in the hope of finding some spare time!
However, I can definitely see myself developing stuff with Facet API in a not too distant future.

Cheers,
David.

cpliakas’s picture

David,

I definitely understand what you are saying. As the maintainer of a less scalable backend myself, I find it hard to spend a lot of time on it since I use Solr 99.9% of the time.

With that being said, I couldn't help myself and actually started working on a core search implementation of Facet API :-). I will post in a sandbox very soon in the hopes that people will bite. Will post back when the sandbox is up, and would love to get contributions and feedback.

Thanks,
Chris

cpliakas’s picture

The Faceted Navigation for Search module has been posted, and an Alpha 1 version has been released for testing. There is an issue posted for adding fields as facets at #1184224: Integrate with the Field API, the code just has to be ported from Apache Solr's Facet API implementation. The 7.x-1.0-alpha1 release at least proves that a core Search integration with Facet API is viable.

niccottrell’s picture

+1

RaulMuroc’s picture

Mistake comment, don't know how to delete it.

Sorry.

cpliakas’s picture

@RaulMuroc,

No problem, and thanks for taking the comment down. Your ideas and criticisms are definitely welcome through the appropriate channels, and I look forward to working on some of these issues together.

~Chris

dark-o’s picture

I am writing module for Drupa 7 that will have similar funcionality as FAceted Search, but in addition clean URL's will be preserved. The module works , I just need to finish review process so it gets accepted as full project, but the code can be downloaded and tested from here:
http://drupal.org/node/1359516

Brn’s picture

We have a D6 site with about 9000 nodes on which we are using Faceted Search. It's easy to install and fast enough.
Is Apache Solr the good solution for smal website in D7 ?

mkalbere’s picture

Yes it's a good solution, but not necessary. D7 Search api / faceted & search api Solr are really powerfull.
But if you don't need specail solr feature such as "or" conjunction, you should think twice about going with Solr.
Previously D6 search / facteted was pretty slow when dealing with lots of nodes. Search api doesn't have this draw back, it's very efficient.
Problem with Solr is that it is an other system to maintain, tune etc .. you would need a VPS or I recently tested http://www.midwesternmac.com/ (Solr as a webservice), site is not yet live, but performance seems to be there .

LAguilar’s picture

Issue summary: View changes
Status: Active » Closed (outdated)