Today, we are announcing the release of a Magento-to-Elasticsearch connector. With the help and advice of our friends at Nano Web Group, an e-commerce consultancy with whom we share some common customers, this free connector sets out to dramatically improve the very sub-optimal product search component of Magento. It is available now on the Magento Connect marketplace, and our intent is to throw the project onto Github as soon as we nail down the open source license framework.

One of the prime uses of Elasticsearch, and the use by which we came to be associated with the project, is e-commerce product search. I’ve told this story before in this blog. Our service struggled to find traction, but our familiarity with the problem and the expertise we built during that period has not diminished our enthusiasm for it. One of our shortcomings at the time was that, while we had significant back-end experience, we were not experts on the front ends that our merchant customers were using. We were not experts in Magento, Prestashop, Zencart, and all the rest, and as a general rule, product search needs to seamlessly integrate with the catalog to have any prayer of adoption.

Still, a significant number of our customers use our service for e-commerce, and we have taken notice that the existing Magento plugins were either constructed poorly to take advantage of Elasticsearch, or they were not well maintained. Thus, we began a collaboration with Magento experts, Nano Web Group, to bring the project to fruition. We really hope that e-commerce agencies take notice. This is a free extension, but of course, we hope you will host your instances with us.

Search Features

  1. Category Boost. QES provides a product boost within search results when the product’s category name contains terms used within the search criteria.
  2. Demote Products Based on Category Name. QES allows for less relevant products to be demoted in search results. Often, the native Magento search would return accessories and/or parts products at the top of results. QES provides an easy way to demote such products by specifying terms contained in the category names the accessories products are in.
  3. Demote Products without Images. The data is clear that product listings with images convert better than those without. QES can demote products without images to the bottom of the search results.
  4. Improved QES search results on configurable products. Configurable products usually consist of simple products with the simple products’ attributes being different. QES covers these scenarios.
    1. Each simple product can be set to visible or invisible in catalog search. The visibility setting controls if the simple product should be returned in the search or not. However, regardless of the simple product’s visibility in search, the parent (configurable) product is returned in QES search when the parent’s children attributes meet the search criteria.
      Example:
      – Parent product is a wheelchair;
      – 2 children products with attribute ‘color’ options ‘black’ and ‘blue’
      – ‘Black’ child is set to visible in search; ‘Blue’ child is invisible in search
      Search strings:
      – ‘black wheelchair’ would return the parent and the ‘black’ child;
      -‘blue wheelchair’ would return the parent and the ‘black’ child (‘because the ‘black’ child contains word wheelchair)
      -‘blue’ would return the parent only
    2. Each simple product can be set to enabled or disabled status. When a child (simple) product is disabled, all of its attributes become unavailable for the parent product. As a result, QES will exclude the child from the search results, as well as exclude the parent if the search criteria is only limited to the disabled child’s attributes.
      Example:
      – Parent product is a wheelchair;
      – 2 children products with attribute ‘color’ options ‘black’ and ‘blue’
      – ‘Black’ child is disabled

      Search strings:
      – ‘black’ would not return any results

Administrative Features

  1. QES re-indexing decoupled from native Magento Catalog Search, with capabilities to:
    1. Launch QES reindexing while using Magento Catalog Search index;
    2. Switch between Magento and QES searching on the fly;
    3. Use QES search while site content is being re-indexed. This is an important improvement. When Magento “reindex all data” action is triggered, the native Magento search is not available during the process. On an average, 15-20% of visitors using site searches are responsible for up to 35% in sales. With QES re-indexing running, the search still is available, (limited to documents already being re-indexed). As more products are crawled, more results are returned
  2. QES re-indexing decoupled from native Magento Catalog Search, with capabilities to:
    1. Launch QES reindexing while using Magento Catalog Search index;
    2. Switch between Magento and QES searching on the fly;
    3. Use QES search while site content is being re-indexed. This is an important improvement. When Magento “reindex all data” action is triggered, the native Magento search is not available during the process. On an average, 15-20% of visitors using site searches are responsible for up to 35% in sales. With QES re-indexing running, the search still is available, (limited to documents already being re-indexed). As more products are crawled, more results are returned
  3. QES indexing allows for multi-selecting of stores to be re-indexed. Native Magento Catalog Search indexer does not allow for selecting which stores are to be re-indexed (it is “all or nothing” indexing). For clients running several stores, with some of the stores using the same frontend view this could be a significant time saving.
  4. QES offers user/password protection when connecting to Qbox repository. Without authentication, potentially anyone who knows the repository url can alter the indexed content causing irrelevant search results (impacting sales)
  5. QES offers capabilities to adjust PHP Script timeout and/or memory limit 
    1. The timeout and memory limit settings are usually set by server administrators on the site global level. It is an important protection for the site’s stability.
    2. The Qbox timeout and memory limit settings control Qbox Elastic Search re-indexing only, a safe way to increase the limits when the amount of the site content re-indexing requires higher limits