At what point do I want to "upgrade" from the native Magento search engine to something like Apache SOLR, or a commercial product? Are there specific features I'd be looking for, or is it simply a function of traffic, SKU count, or something else?
2 Answers
The distinguishing features of using Solr over the default Magento MySQL Fulltext engine are:
- Weighted attributes (e.g. name is higher priority than description)
- Fuzzy search capability (e.g "Did you mean?" functionality)
- Spelling suggestion/correction
- Indexing time
- Speed, speed, speed (esp if you're using the ajax/lookahead search dropdown)
- Category/layered navigation offloading
The community seems to lean toward Solr in general, though other search connectors have been made available.
3rd party search:
3rd party search products work in one of two ways: they replace your search and category pages with their own versions and typically host them under a subdomain on your site so as not to interfere with SEO (e.g. SLI), or, they iFrame search into your site (Picosearch). In my opinion I don't want my stores at the mercy of a 3rd party hosting on AWS; or worse yet on their own in-house datacenter.
I recently met a vendor wearing a funny hat who purportedly had a custom search tool who plugs into the Magento Solr connector but it runs as a SaaS cloud service with a control panel. This is not normally how the 3rd party search integrations work - I'm curious what the performance is like.
Timing/Deployment
There is no formula as to determine when to make the switch - when you should migrate is entirely up to you. Keep in mind it isn't a two-second implementation - your theme/plugins (especially any navigation plugins) may require tweaking or upgrading.
It's not going to give you miracle results overnight - like everything else in running your business it'll only be as good as the amount of time you invest into it. You will still likely have to have indexed fields with keywords you want to optimize for. You'll have to play with the weighting settings heavily, too. It's not an overnight fix.
A note about performance
The distinguishing feature of the Solr integration over fulltext really is that Magento can utilize Solr to offload the layered navigation and category page results rendering to it. Because Solr is so highly optimized it incurs very little overhead to do so. This is handy to mitigate traffic spikes and to spread your load across more than just your Apache servers.
-
I think I know two 3rd party search providers, which are quite popular in Germany and offer a Magento module which forwards the query to a SaaS and gets back an list of product ids to be displayed in Magento.– AlexCommented Aug 24, 2013 at 12:34
-
Thank you very much for the thoughtful and detailed answer. I only have 30 products, and don't expect many more. I'm not sure if the benefit is there for me yet. Do I need a dedicated host to run SOLR, or can it coexist on the web server? (I suppose this is a different question) Commented Aug 26, 2013 at 12:17
-
I tried running Solr using Tomcat6 on a really dinky VPS, we have ~50,000 products in our catalog and we'd usually hit a deadlock at around 18,000 solr documents. Really, it's best to run it on its own server but for 30 products it's a little overkill to justify the $500 dollars for the only decent Solr extension available and the resources to host Solr on an LAMP. I had really good luck with the extension recommended by Alex magento.stackexchange.com/a/24699/26736 Commented Jun 22, 2015 at 14:50
-
I should also add the Sphinx search can use MySQL without having to install Sphinx on a servlet which doesn't play well when the server is chrooting. That extension gives you the option to use an external server, internal, or even a Javascript. The only trade off is speed when indexing which is really poor when using MySQL. Commented Jun 22, 2015 at 14:54
SOLR is used by all the top stores and platforms including Magento EE and Hybris, it has Levenshtein Distance which provides up to 98% accurancy compare to Sphinx which gets in to the 60-80% accuracy range.
We use a SOLR install which costs $450 + $250 for the hosting per year, so if yo amortise it over three years ($450 + $250*3), at $400/yr and search is 5% of IT Spend and IT Spend is 5% of revenue, then you have $160,000 revenue per year where it makes sense to start using SOLR.
-
Cite a source for your statistics, because otherwise its clear you've just made up your answer. SOLR is no better than Sphinx (and vice versa), they are two totally different technologies and each have their own benefits. There is absolutely no way to compare search engines that are so radically different in functionality. Commented Oct 11, 2014 at 19:43