23

Over the years there's been numerous attempts at improving the Magento's search features. (Solr, Lucene, etc.) In 2013, is there a preferred/dominant way of providing a catalog search in Magento that's available for community edition? What about a site wide search — something that searches content pages?

Are people just sticking with out of the box search, or is there something better?

3
  • I'd venture to say most are sticking with out-of-the-box. Configuring and truly taking advantage of something like Solr is a pain, and requires a cluster with a dedicated Solr node to prevent slamming your web node's file-system with heavy I/O. We've used it, and others, but I'm not sure if there is a "2013" or dominant method. For site-wide, I'm not sure… but I bet my Solutions team does. :)
    – davidalger
    Jul 24, 2013 at 21:54
  • 2
    You can certainly run SOLR on the same machine as the webserver, it doesn't need a cluster at all. As a Java based app, it runs largely in memory, not on disk. Disk access is infrequent - IO is almost none existent. FYI. I've deployed >20 SOLR installations in the last year on varying scales and never needed a dedicated machine solely to run it.
    – choco-loo
    Oct 11, 2014 at 19:06
  • Now it's 2016 and we finally added content search to our own search module: integer-net.com/… </shameless_plug> Aug 23, 2016 at 20:31

8 Answers 8

7

I work a lot with Solr and created a Extension for that here http://solrgento.com. You can search over attributes and CMS pages. I had the same idea as Ivan and implemented the whole catalog view over Solr. Its really freaking fast ;-)

4

My personal recommendation -

http://php4u.co.uk/blast-search-lucene-magento-extension/

Used sphinx solutions in the past, but they seemed to require constant attention all of the time.

1
  • Combined with customized attribute sets to add search refinements in the Layered Search Navigation, Lucene which is built into the Zend Framework is probably going to give you the best results. Nov 15, 2013 at 3:23
3

Using of Sphinx is quite good these days. First of all it is directly connected to mysql. It creates index based on mysql query that you've specified for sphinx configuration.

We are at the moment implementing a solution for a customer with 2M of SKUs and sphinx showing great results. We also planning to replace fully the FLAT version of Magento by Sphinx, in this case all the Magento category pages will be freaking fast.

At the moment we haven't seen any good implementation of Sphinx on the Market that would fit our needs and wouldn't repeat the logic of Magento Solr implementation that has the biggest bottleneck by using "entity_id IN(?)" query to Magento DB.

Also I learned some new services that provide search SAAS solutions focused on E-commerce websites. They have quite good tools in organising of search navigation, ranking modifications and even possibility to adjust search results for upselling.

One of such services is Fredhopper. However it is not Open Source software.

3

have a look at http://www.magentocommerce.com/magento-connect/searchanise-connector-add-on-2652.html

its sphinx based and was mostly free till q3 2013

i tested https://code.google.com/p/magento-community-edition-solr/ but this cant search in the attributes

1
  • Searchanise is free until you want the pro features. Then you need a subscription, which in general is more expensive than the average extension like Blast Lucene or Sphinx Search Ultimate.
    – SPRBRN
    May 6, 2014 at 15:26
1

For the community edition I would advice you to try our OpenSource module ElasticSuite :

https://github.com/Smile-SA/elasticsuite

It has very advanced features even not available in Magento 2.1 EE (virtual categories, product sorting, better faceting, ...).

We started additional modules for additional content indexing like this one https://github.com/Smile-SA/module-elasticsuite-cms-search)indexing CMS pages and adding them to the autocomplete (it is still a POC but is already working).

Feel free to try it and to contribute.

1
0

this is a new option I´m checking, interesting solution for magento, using elasticsearch - based on lucene - http://www.bubblecode.net/en/2012/06/24/magento-enhance-your-search-results-with-elasticsearch/

2
  • How did that work out?
    – SPRBRN
    May 6, 2014 at 15:27
  • @SPRBRN interesting solution elasticsearch. they have some lack in documentation based on some specialist wrote. i will post more info soon.
    – s_h
    May 6, 2014 at 16:46
0

Elasticsearch - its easier to setup (in magnitudes compare to solr) - its build for scailing (solr answer to this is solrcloud) not sure about sphinx, last time ive checked it was not scalable with complicated configuration (but direct connection to mysql as mentioned here might be interesting)

0

My recent experiences with Solr+Magento might have a little insight.

First, there's the problems:

  • Fragmented PHP libraries - Which one should I be using? How many lines of code am I going to have to fix in an unmaintained library?
  • Additional stuff to learn - I had zero experience with Tomcat before jumping into this boat. It's be real fun.
  • Very little documentation geared for an experienced developer in an unfamiliar environment. Be prepared to learn all that fun Java terminology just so you can read a setup guide.
  • There's a lot of effort involved for the DIYer

In my case, I want to go with Solr because it does what I want. Sure some of those 3rd party search providers will do that too, but if I wanted to use that I would be the guy that is content with a $200 website. I most certainly wouldn't be trying to push the boundaries of Magento CE.

The out-of-the-box search just simply isn't going to be a good enough solution for me. I have customers that are going to rely on store search and the chances of them mispelling the names are very high. That alone is enough for me to want to get away from Magento's methods.

I think, as others have also made clear, that going down the Solr road is no light undertaking. Aside from the nuts and bolts of Solr itself, you're also going to have to worry about the infrastructure implications (something that is leading me to consider moving everything to co-location).

So far, though, it's all be a pretty rewarding experience. I imagine that it will be another couple years before I have answers to so many of the questions I have, and by then we'll be looking at the next fad that's probably running in node.js or something and it will be time to migrate all over again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.