Plugin: smart search

Version

5.5.0 or newer

Table of contents

Introduction

Help potential buyers find your items better and effectively increase your sales. Depending on the language, the intelligent search can be used with its own algorithm and optimized for each sub and language shop. The search is fault-tolerant and provides the correct results, even if the search term was typed with spelling mistakes and other word combinations. It also automatically lists similar or related searches and results. Also, partial terms are evaluated and there is an automatic weighting of the search results, which can then be further filtered by manufacturer, price, category, etc.

Features

  • Search by product name, keywords, manufacturer, category name
  • Automatic weighting of search results
  • Finding partial terms possible
  • Intelligent, fault-tolerant search
  • Suggestion of similar keywords (keywords)
  • Suggestion of related search results (+ number of results)
  • High performance by indexing the data and caching search results
  • In-house development, no additional costs due to connection of third-party modules
  • There is a suggest function in the storefront
  • The creation of synonym groups or actions (shopping worlds for the search)
  • 5 different algorithms partially combined usable
  • Creating profiles that can be changed as needed
  • Special characters are supported
  • Supports the search for numbers
  • Choose between an AND and OR combination of search terms
  • New evaluations for the search

The Intelligent Search is not compatible with Elasticsearch and cannot be used with it. In this case you can use the normal search, or look at the extensive Enterprise Search, which is available within a Shopware Enterprise.

General Settings

You can test and purchase the plugin directly from our store, the marketplace for all Shopware extensions. After installing the plugin you will find the configuration area for the smart search under Configuration > Intelligent Search in your backend. The default search configuration in the Basic Settings will disappear from the menu after the Intelligent Search installation has been installed.

Installation

The plugin is installed like a normal plugin.
After installing the plugin you should reload your backend so that the plugin is visible in the menu structure. If necessary, empty the configuration cache and reload the page again.

Profiles

With the use of profiles, the search can be configured for each language and subshop individually. You can create different profiles to store your settings and configurations. This creates ideal conditions for every language and assortment.

Create a Profile

In the menu of the intelligent search, a new profile can be created by clicking on the Add button. Since all other search settings are saved in a profile, only the name must be entered for a new profile in the first step. After saving the mask, a new profile will be created for your search, which you can now assign to the corresponding shop.

If you want to create new settings for a profile, this must always be saved separately so that the changes are not lost when you change the profile. To do this, open the profile in the menu item Profiles by clicking on the pencil icon and save the changes again by clicking Save.

Add a New Table

In the Table configuration menu tab, you can list additional database tables that should be included in the Intelligent Search

Adding Tables

Change first to tab Table configuration and add the required table. Place the table to be considered in the field Table (eg s_categories). Save the settings below.

Add the field and relevance

Change to the tab Relevance / Fields. To include the database field (eg Attribute 4) in the search, you must add this field. The following entries must be stored here in the details:

Name: attribute4 (The field name is freely selectable)

Value: 20 (Desired relevance of the field in the search)

Table: s_articles_attributes

Table field: attr4 (attribute field in the database)

Do not split: Characters which are not a letter, number or underscore will be replaced by a blank character.

 

The search index must be rebuilt after a change!

Clear Cache

In order for the product properties to be included immediately in the search in the frontend, you must clear the query and search cache after creating the table and fields.

Rebuild the Search Index

When you rebuild the search index, the stored fields are searched and the terms contained in it, according to the stored algorithms, entered into the cache to speed up the search. In your backend, go to the menu item Configuration > Caches / Performance > Settings > Search and rebuild the index. Afterwards also terms from the just deposited tables can be found quickly.

Synonym groups and actions

Synonym groups and actions are shopping worlds that are found when you enter specific search terms. This allows you to pick up customers looking for a specific term directly and, for example, integrate marketing objects. So you could include coupon codes in the search that invite a customer to a quick bargain when entering a particular search term.

Add a Group

To create a new synonym group or an action, go to the menu item Synonym Groups / Actions. Here you can create a new group by clicking on Add.

Configure Groups

General Settings

Here you can specify the Name where you can call the group in your backend. In the shop you determine which shop should be able to call this synonym group. After that determine whether the group should already be activated or not.

Settings for the search page

Here you determine the design of the synonym group. In the Shopping World for the search page section, you can enter a shopping world that will be displayed when this group is opened via the search. This option is not mandatory, eg you can work with banners only as well. In the banner for the search page banner can be set, which may be displayed in the shopping world and the search results. For this, you can define a link in the following two points that links internally (in your own shop) or externally to another page. In case of an internal link, you have to work with the SEO-URL, starting with the shop URL. If you want to link eg http://www.myshop.de/beach-relax/, beach-relax/ or /beach-relax/ must be entered here depending on the configuration. If you have an external link, you can simply enter the full URL. The Headline for the banner, when filled, will be displayed even if you have not deposited a banner, the same applies to the Description for the banner.

Settings for the Ajax Search

Here you define the look of the page in the proposal search. As described in the settings for the search page you can define here a banner, possibly with a link and heading and description that should be displayed to the customer as a suggestion for the entered search term, to possibly point it to the correct search page.

Synonyms

Here you determine, under which terms the just created page should be found. Here you can define further terms by clicking on Add.

Use a Group in the Frontend

You can now call up the page just created in your frontend by entering one of the terms just defined in the search.

Default Settings

The right Algorithm

You have the choice between three stored algorithms, which can be used for the search in your shop. You can then link the selected algorithm to another one.

Step 1: Select the right main algorithm

There are three algorithms available for this:

Soundex: Fits best with English.
Kölner Phonetik: Fits best with German.
Metaphone: Similar to Soundex, but more precise. Might be slower in certain circumstances.

Step 2: Select the correct postprocessing algorithm

Here are two algorithms to choose from (2) , these define the distance between the search term and the terms in your database:

Levenstein: Calculates the Levenshtein distance between two words which is defined as the minimal number of characters you have to replace, insert or delete.
SimilarText: Calculates the similarity between two words.

Step 3: AND or OR

By default, the search works with an OR logic that ensures that the search results of a query must match only one of the search terms. This results in a larger number of results, but these do not always match the overall search. If you use the AND logic at this point, fewer results will be displayed, but they will be more accurate as a result must match all search terms.

You can find this setting under Configuration > Basic Settings > Storefront > Search.

Other settings and additional relevance

Maximum distance allowed for string matching (%):

Smart search terms have a factor of 0-100, this depends on the deviation from the actual search term and is generated automatically. This setting specifies how far the search term may differ from the term to be found.

Factor for accurate hits:

This value is used to calculate the relevance. If a term is found that is evaluated as an exact match by the algorithm, the value of the relevance is multiplied by this factor according to the definition of the relevance/field setting.

Example:
Factor for accurate hits: 400
he search term "salmon" finds the product: "Fresh salmon" with the relevance: salmon (400 * 400) = 160.000

Here, an exact match for the term salmon is found in the product name. This multiplies the value of the product name (400) by the Factor for accurate hits (400). Thus, the product "Fresh salmon" gets a total relevance of 160.000

Factor for short partial hits:

This value is used to calculate the relevance. If a term is found that is evaluated by the algorithm as a short partial hit, the value of the relevance is multiplied by this factor based on the definition of the relevance/field setting.

Example: Part hit factor: 5 The search term "Lac" finds the product: "3L MI Jacket LA GRAVE" with the relevance of la (5 * 400) = 2.000

Hereby a short hit is found in the product name. This multiplies the value of the product name (400) by the Factor for short partial hits (5). Thus, the product "3L MI Jacket LA GRAVE" gets a total relevance of 2.000

Minimum relevance for top item (%):

This value determines the relevance of the products that are still to be considered by the search and which are not anymore. This is percentage related to the product with the highest relevance of the search.

Example: Search term: "Salmon" Value: 50 Top item "Fresh salmon" has a relevance of 170000 (Top hit + Topseller) The following item "Fresh Salmon Fillet" have a relevance of 90,000 (Short Partial Hit + Topseller) and are still displayed. The item "salmon filet" has a relevance of 80000 (fraction hits without top sellers) will no longer be displayed, since 80000 is less than 50% of 170000.

Maximum distance allowed for partial names (%):

This value defines how many percents of the entered search term must be contained in the search term found so that it is used for the search.

Example:
Maximum distance allowed for partial names (%): 30
Entered search term: salmon (5 letters) Selected search term: Smoked Salmon (12 letters) Thus, the term is 41.66% included and is considered for the search.

Search term: smoked salmon fillet (17 letters) Thus, the term is included to 29.41% and is not considered for the search.

Factor for Partial Hits:

This value is used to calculate the relevance. If a term is found that is evaluated as a partial hit by the algorithm, then the value of the relevance is multiplied by this factor based on the definition of the relevance/field setting.

Example: Part hit factor: 200 The search term "Salmon" finds the product: "Fresh salmonfillet" with the relevance: salmonfillet (200 * 400) = 80000

Here, a partial hit for the term salmon is found in the item name. This multiplies the value of the product name (400) by the factor for fractional hits (200). Thus, the product "Fresh salmon fillet" gets a total relevance of 80000

Number of max. similar results are shown in the frontend and used keywords for the search:

This determines how many different keywords will be used for the search.

Example: Value on: 8 Search term: Salmon It is additionally searched for: smoked salmon, salmon fillet, la, leek, lady, lava

Value on: 2 Search term: Salmon It is also searched for: smoked salmon, salmon fillet

Relevance to top seller Products:

In the case of a top seller product, the added relevance of the value entered here is added to the total relevance.

Relevance for new Products:

If a new product is found, then the added relevance of the value entered here is added to the overall relevance.

Analysis

In the Marketing > Analysis > Analysis section, you will find a new point in which the entered search terms without results including the number of calls are saved. This gives you the opportunity to better respond to the behavior of your customers.