0
votes

Good day, everyone.

I have an e-commerce website (Kohana php framework + Mysql + Sphinx search).

I want to integrate faceted search (also called faceted navigation, guided navigation, or parametric search) on my e-commerce shop.

1. I found several opinions that Solr was the best solution for faceted browsing? I want to be sure in my choice. Is Solr the best in doing that?


2. Also I want to migrate products (with attributes) from mysql to MongoDb. Is MongoDb good in cooperation with Solr?


3. Does someone know modules, ui, api for faceted search? Maybe there is some Zend library, Rest api...

Thanks for your help.

1
Saying that Solr is better than Sphinx is like saying MongoDB is better than MySQL, there is no real substantial evidence to support it, the use of either tech is dependant upon your needs. I mean Sphinx has been proven to support search sets of up to 15 billion rows, I don't think you'll have many problems with either.Sammaye

1 Answers

2
votes

I found several opinions that Solr was the best solution for faceted browsing?

I am pretty sure that those who say that are most likely the same sales men who say that MongoDB pwns MySQL in every role.

Sphinx (the tech you are currently using) has been proven to support massive sets in a performant manner, for example: http://infegy.com/ uses it for a result set of 22 billion records ( http://sphinxsearch.com/info/powered/ )!

Solr is dead fast too but saying one is better than the other when both support facets and both support super fast speed on super big result sets is just utter nonsense.

Also I want to migrate products (with attributes) from mysql to MongoDb. Is MongoDb good in cooperation with Solr?

Solr uses a separate XML schema and files to represent its internal files (Lucence here) unlike Sphinx which can do this transparently without you knowing.

So to get MongoDB to work with Solr is no different than using MySQL with it. You build up the XML files and commit (or soft_commit) them to Solr.

As for faceting, here is a very simple page on it with links to the places you need to go: http://wiki.apache.org/solr/SolrFacetingOverview

Solr has a built in REST (JSON) API on top of Jety ( http://jetty.codehaus.org/jetty/ ) which you can use to fetch all the facets you need easily.