Magento Search vs. SOLR – Which is Better?

searchsolr

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?

Best Answer

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.

Related Topic