In the first post in this series, we discussed the importance of a good search solution for digital commerce sites and what Solr configurations are available to be utilized to achieve the desired results – both for searching and conversion rates.
In this post, we will discuss the different features that Magento EE offers, and how you can configure Solr for some of these features.
Magento Quick Search
Magento quick search performed by the Solr search engine provides the following options:
- Search terms suggestions based on the corrected user’s misspelling.
- Search results according to the specified weight of an attribute.
- Search results for layered navigation. All of the attributes that are available for layered navigation are added to the Solr index. As a result, Solr can also be used to generate the layered navigation. To add these attributes to Solr search results, the store administrator must enable Solr for catalog navigation in the Magento Admin Panel.
Popular Search Options
- Single Word – A single word is entered into the search box. This is handled by native Magento search, allowing Solr to score the results based on Solr algorithms and settings.
- Phrase – Multiple words are entered into the search box. This is handled by native Magento search, allowing Solr to score the results based on Solr algorithms and settings.
- Partial SKU – A part of a SKU is entered into the search box. This requires customized entries in the schema.xml and solrconfig.xml files.
schema.xml – Definition of the field type. Notice the minGrameSize attribute. This is the minimum number of characters that needs to be sent in the query to match a partial field.
solrconfig.xml – Adding partial SKU and boosting to the query fields and phrase fields.
- Partial Name – A part of a SKU is entered into the search box. This requires customized entries in the schema.xml and solrconfig.xml files schema.xml. This configuration only works for english locale, but likely could be made to work with all. Please note that previous versions of Magento might not use the name “attr_name_en,” but instead “name_en.”
solrconfig.xml – Adding partial name and boosting to the query fields and phrase fields.
You can learn what your customers are looking for by examining the search terms they use to find products in your store. If enough people are looking for a product that you don’t carry, perhaps it’s time to add it to your catalog. Meanwhile, rather than having them leave empty-handed, why not redirect them to another product in your catalog? You want to examine your search queries for insights to the terms people are using to find your products, instead of expanding your product line. An example would be pendant vs. necklace for jewelry. Jewelers tend to use the term pendant, but consumers use necklace. For furniture, it may be sofa vs. couch. If people enter a search query for products you don’t offer, this provides an opportunity to highlight or associate those terms with similar products or affiliated products you do offer.
Exact search terms can be set up in the admin panel to redirect to an exact URL. For example, a search for “Blue Shirt” could be redirected to the product page of your most popular blue shirt’s product page, instead of showing a results page that lists all of the blue shirts.
If a search returns no results, and there is no alternate landing page for the term, a selection of closely matching terms can be offered as possible solutions. The text, “Did you mean:” appears, followed by a list of suggestions.
Search Suggestions/Spell Check
Solr can be configured to identify misspelled words and offer suggestions – like a spell-checker might do in a Word document. When a customer makes a spelling mistake, the message, “Did you mean:” appears with a link to a suggested product. The number of suggestions offered is set in the configuration. The suggested spellings will only be returned if those words exist within the indexed products.
Recommendations are similar to suggestions, but are drawn from the selection of related search terms. If a search returns no results, related search terms can be offered as recommendations.
With search recommendations set up, the store administrator can specify the search recommendations list for a specific search term. The search engine provides the standard search results, and also proposes the list of related terms with the search results. Using search recommendations greatly expands the search results that are available to customers. Search recommendations independent of the search engine and can be used with both MySQL and Solr.
For better performance, Magento also splits the searched word combination into separate words and automatically provides search recommendations for each of them, if these are available in the system. For example, if a visitor searches for the phrase “hp laptop,” the search system splits the phrase into two words, “hp” and “laptop,” and provides five search recommendations for the first term and twelve for the second one.
When search recommendations are enabled, and a visitor searches for a term that has search recommendations, the search results appear, as well as any related search terms (the search recommendations), followed by the number of times the term has been used. Each recommendation is linked to a catalog page.
One way to improve the effectiveness of catalog search is to include different terms that people may use to describe the same item. You don’t want to lose a sale just because someone is looking for a “sofa,” and your product is listed as a “couch.” You can capture a broader range of search terms by entering the words “sofa,” “davenport,” and “loveseat” as synonyms for “couch,” and direct them to the same landing page.
Use search terms to capture common misspellings and redirect them to the appropriate page. For example, if you sell wrought iron patio furniture, you know that many people misspell the term as “rod iron,” or even “rot iron.” You can enter each misspelled word as a search term, and make them synonyms for “wrought iron.” Even though the word is misspelled, the search will be directed to the page for “wrought irons.”
The Related Search Terms section of a search term record lets you associate other terms with the search term. You can use the information to keep a running total of how many people are searching for the same thing. Related Search Terms can also be offered as suggestions and recommendations whenever a search returns no results.
When typing into the search input box, Magento will use an ajax query to find any existing search terms that begin with the characters that are typed. By default, this functionality will not trigger until there are two characters typed into the box.
With Solr enabled, product attributes that are enabled for quick search have an additional Search Weight parameter. This parameter denotes the priority a specific attribute has in the Solr search.
When a customer enters a term in the search field on your web store, one of the parameters that the Solr search engine takes into account in generating results is the attribute search weight. Attributes whose search weight is greater will be searched and returned first by Solr.
For example, if there are two attributes in the system, “color” with a search weight of one and “description” with a search weight of three. When a customer searches for the word “red,” Solr will return a list of products whose color attribute is “red” and will not include in the list the products whose description contains the word “red.” This result happens because the search weight of the “color” attribute is higher than that of the “description” attribute.
In part three, the final post of this series, we will provide a plethora of screen shots to walk you through the different features discussed in this post. Stay tuned.