Magento extensions & Pay-as-you-go development

10 years of business 2112 reviews 4.9 average rating
Magento 2

Elasticsearch® Suite

Make any search on your website much more relevant, quicker and user-friendly than the default Magento search tools with this complete suite of Elasticsearch extensions.

Marketplace approved 9 reviews
Starting at €490
User guide

You may also be interested in these resources:

The Elasticsearch suite is a package of 3 Elasticsearch extensions: 

  • Enhanced Autocomplete
    User-friendly autocomplete including relevant results on products, CMS pages, categories, and search suggestions
  • Multifaceted Autocomplete
    Multi-faceted autocomplete including filterable attributes, products sorting, and many display options
  • Advanced Layered Navigation
     Powerful set of search tools to enhance the navigation in your categories and search results pages

With the above extensions, the Elasticsearch suite will make any search on your website much more relevant, quicker, and user-friendly than the default Magento 2 search tools.

Install the Elasticsearch server

Elasticsearch is a real-time distributed search and analytics engine that allows you to explore your data very quickly. It is used for full-text search, structured search, analytics, and all three in combination.

And it packages up all this functionality into a standalone server that your application can talk to via a simple RESTful API, using a web client from your favorite programming language, or even from the command line.

The Elasticsearch Suite will allow you to make the link between the search and analytics engine and Magento 2.

You can find more information on the product here:

Install and run Elasticsearch server

As Elastic advises, "the easiest way to understand what Elasticsearch can do for you is to play with it".

To be able to use the Elasticsearch Suite and reach the server, you first need to have a recent version of Java. You can easily install the latest version of Java from www.java.com.

Then you can install and run the Elasticsearch engine following the below steps.

Install Elasticsearch

You can download the latest version of Elasticsearch from elastic.co/downloads/elasticsearch.

Run Elasticsearch

To run Elasticsearch, open a console, and run the following command:

cd elasticsearch-<version>
./bin/elasticsearch

If you’re running Elasticsearch on Windows, simply run:

bin\elasticsearch.bat

Test Elasticsearch

You can easily test if the Elasticsearch engine is reached by trying to access http://localhost:9200/?pretty or by opening a new terminal window and running the following:

curl 'http://localhost:9200/?pretty'

You should then get:

You now have an Elasticsearch node up and running.

You can also check the official documentation to install Elasticsearch. 

How to use the Enhanced Autocomplete extension?

You can enable the Enhanced Autocomplete extension in:
StoreSWyomind Enhanced Autocomplete

Once the extension is enabled, you can configure the autocomplete box as you want.

Debug mode

You have the possibility to enable debug mode.

When it is enabled, a toolbox will be displayed on the frontend with the below information:

  • Infinite scroll?: have the products been loaded via the infinite scroll?
  • Cache?: the module offers a cache for the current page. If the request is cached, the server will not be called and the response will be faster
    Yes = the result comes from the cache.
    No = the result doesn't come from the cache.
    The cache is reset when the page is reloaded.
  • Elasticsearch?: it is the contrary of "cache?". Are the results coming from the Elasticsearch server or not?
    Yes = the request has been sent to the ELS server and the results are coming from ELS.
    No = the results were cached.
  • PHP time: it is the execution time of the PHP code (including requests to the ELS server).
  • Request time: it is the total execution time of the Ajax request to retrieve the products (including "PHP Time").
  • Rendering Time: it is the time needed to render the products on the page ("Request Time" not included).
  • Total time: it is the time required for the Ajax request and the rendering of the products.
  • Enable Template Hints: to display the templates used for rendering the page by the module.
  • Show last request data: to show the results of the last query (ESL or cached). It contains an explanation of why and how some products score higher than others.

Configure the autocomplete box

The Enhanced autocomplete extension offers many features to configure the display as you want. 

You can enable the "All Results" link in the autocomplete box. This will redirect to the search results page. 

Enable the highlight

With Enhanced Autocomplete, you have the possibility to enable the search terms highlight so that search terms can be underlined in the search results data.

Define your labels

With the Enhanced Autocomplete extension, you can define your own labels for: 

  • "All Results" link
    {{term}} can be used to be replaced by the search term in the label. 
    See all results for <b>{{term}}</b> >>
  • "Did you mean?" section
    Do you mean?
  • "Products" section
    Products
  • "No product found"
    No product found
  • "Categories" section
    Categories
  • "No category found"
    No category found
  • "Pages" section
    Page
  • "No page found"
    No page found

Enable the Did you mean feature

The extension comes with the Did you mean feature. This provides alternative suggestions when users may have misspelled a search term.

The Did you mean feature can be enabled in:

  • the autocomplete box
  • the search results page

Also, you can limit the number of suggestions displayed in the autocomplete box.  

Configure the results displayed in the autocomplete box

The Enhanced Autocomplete extension allows you to make the products, the categories, and also the CMS pages searchable in the autocomplete box.

You can define your preferences from:
StoreS Wyomind Enhanced Autocomplete Product/Category/CMS

Product

You can enable the products in the autocomplete box and limit the number of results displayed. 

Below, only products are enabled in the autocomplete box. 

Category

Categories can be displayed in: 

  • the autocomplete box
  • the search results page: displayed in the left column

For each one, you can limit the number of results displayed. 

Also, you have the choice to display or hide that section when there is no category found. 

Below, products and categories are enabled in the autocomplete box. 

CMS page

Your CMS pages can be enabled in: 

  • the autocomplete box
  • the search results page: displayed in the left column

For each one, you can limit the number of results displayed. 

Also, you have the choice to display or hide that section when there is no CMS page found. 

Below, products, categories, and CMS pages are enabled in the autocomplete box. 

How to use the Multifaceted Autocomplete extension

You can enable the Multifaceted Autocomplete extension in:
StorESWyomind Multifaceted Autocomplete

Once the extension is enabled, you will be able to configure the display settings as you want.

Debug mode

You have the possibility to enable debug mode.

When it is enabled, a toolbox will be displayed on the frontend with the below information:

  • Infinite scroll?: have the products been loaded via the infinite scroll?
  • Cache?: the module offers a cache for the current page. If the request is cached, the server will not be called and the response will be faster
    Yes = the result comes from the cache.
    No = the result doesn't come from the cache.
    The cache is reset when the page is reloaded.
  • Elasticsearch?: it is the contrary of "cache?". Are the results coming from the Elasticsearch server or not?
    Yes = the request has been sent to the ELS server and the results are coming from ELS.
    No = the results were cached.
  • PHP time: it is the execution time of the PHP code (including requests to the ELS server).
  • Request time: it is the total execution time of the Ajax request to retrieve the products (including "PHP Time").
  • Rendering Time: it is the time needed to render the products on the page ("Request Time" not included).
  • Total time: it is the time required for the Ajax request and the rendering of the products.
  • Enable Template Hints: to display the templates used for rendering the page by the module.
  • Show last request data: to show the results of the last query (ESL or cached). It contains an explanation of why and how some products score higher than others.

Update Search Terms

You can update "Search Term" information when a search is performed from the autocomplete form.

You will then find the updated search terms in:
MarketingSEO & SearchSearch Terms

Enable Redirection

You can also enable redirection when only one product is found. 

Then, if only one product is found during the search, the customer will be automatically redirected to the product page when pressing the Enter button.

Configure the autocomplete box

The Multifaceted Autocomplete extension offers many options to configure the display as you want. 

Define the Minimal Query Length to know from how many characters to start the search in the autocomplete and below how many characters the search terms are ignored from:
Stores SettingsConfigurationCatalog Catalog Catalog Search

Define your own labels

With the Multifaceted Autocomplete extension, you can define your own labels for: 

  • Search by 
  • Clear all
    This is the link to remove all applied filters.
  • X products found
    {{nbItems}} can be used to be replaced by the total number of products found. 
    {{nbItems}} products found
  • Your search
  • No more product 

The Multifaceted Autocomplete extension allows you to enhance your autocomplete box with attribute filters.

Add layers in the autocomplete box

For each layer, you can:

  1. Add as many attributes as you want by clicking on the + icon.
  2. Use drag and drop to define the order of each filter.
  3. Choose the filterable attribute.
  4. Define if filters are Closed by default or not.
  5. Show results count for each attribute or not.

  6. Show More/Less option for each attribute.

  7. When the Show More/Less option is enabled, you can configure the number of values to display.
  8. Filter the options (Input filter: not available for categories, price, reviews, swatch).

  9. Delete the attribute from the filters.

Layers Update

You have the possibility to refresh the filters according to those that are already selected.

When that option is enabled, you can define how the unavailable filters are displayed: 

  • Disabled
    The values with no product matching will be displayed but won't be available for selection.
  • Hidden
    The values with no product matching will be hidden.

Price Sliders

If enabled, it displays input boxes below the slider to allow customers to filter products by typing any price value.

Enable breadcrumb

If Breadcrumb is enabled, the path of the filters used to get the current product listing will be displayed in the autocomplete box.

Configure your products listing

For the autocomplete box, the Multifaceted Autocomplete extension allows you to enable each below option separately: 

  • Display an "Add to cart" button
    The product will be added inside the autocomplete using Ajax, without reloading the page.
  • Display configurable attributes
    The customer can choose the configurable options before adding the product to the cart.
  • Display an "Add to wishlist" button:
    Wish List must be enabled in:
    StoresSettingsConfiguration Customers Wish List
  • Display an "Add to compare" button
  • Display an "Email to a friend" button
  • Display ratings

Highlight

When search terms highlight is enabled, search terms will be highlighted in the search results data.

When enabled, a "back-to-top" link will be added in the autocomplete box when scrolling down.

Grid/List switcher

When the grid/list switcher is enabled, you can choose the default mode:

  • Grid
  • List

Sorting

You can enable products sorting in the autocomplete box. If enabled, it gives the possibility to sort products depending on the customers' ratings.

How to use the Advanced Layered Navigation extension

You can enable the Advanced Layered Navigation extension in:
StoreSWyomindElasticsearch Layered Navigation

Debug mode

You also have the possibility to enable debug mode.

When it is enabled, a toolbox will be displayed on the frontend with the below information:

  • Infinite scroll?: have the products been loaded via the infinite scroll?
  • Cache?: the module offers a cache for the current page. If the request is cached, the server will not be called and the response will be faster
    Yes = the result comes from the cache.
    No = the result doesn't come from the cache.
    The cache is reset when the page is reloaded.
  • Elasticsearch?: it is the contrary of "cache?". Are the results coming from the Elasticsearch server or not?
    Yes = the request has been sent to the Elasticsearch server and the results are coming from Elasticsearch.
    No = the results were cached.
  • PHP time: it is the execution time of the PHP code (including requests to the Elasticsearch server).
  • Request time: it is the total execution time of the Ajax request to retrieve the products (including "PHP Time").
  • Rendering Time: it is the time needed to render the products on the page ("Request Time" not included).
  • Total time: it is the time required for the Ajax request and the rendering of the products.
  • Enable Template Hints: to display the templates used for rendering the page by the module.
  • Show last request data: to show the results of the last query (Elasticsearch or cached). It contains an explanation of why and how some products score higher than others.

URLs settings

Once the extension is enabled, define the URLs settings.

  • Enable attribute codes in the generated URLs

    If enabled, attribute codes will be added as keys in the generated URLs for the filters.

    enabled: http://www.website.com/men/tops-men/color/blue/size/l-xs.htmldisabled: http://www.website.com/men/tops-men/blue/l-xs.html

     Note that the category, rating, and price filters cannot be interpreted when the option is disabled and that using identical values for distinct attributes may provide inconsistent results.
  • URL format
    You can define the URL format on Native or Mageworx. 

    Native: https://www.website.com/women/tops-women//pattern/checked-solid-striped/style_general/jacket.htmlMageworx: https://www.website.com/women/tops-women/{{PARAMETER}}/pattern:checked-solid-striped/style_general:jacket.html
    When using the Mageworx model, {{PARAMETER}} will be replaced with the value of the Mageworx format: filters parameter field.filters
    Contact us if you need another format.

Display settings

Configure the display settings. Advanced Layered Navigation offers you two methods of rendering for the product listing pages: 

  • Full Elasticsearch template engine
    When enabled, the product listing will be displayed faster than when using the native Magento template engine. However, it may require some customizations to be fully compatible with your custom theme.
  • Magento native template engine
    The Magento native template engine is used to load the listing of the products.
    Rendering is fully compatible with custom themes.

Define your labels

With the Advanced Layered Navigation extension, you can define or translate your own labels for each store view.

  • "Search by"
    This is the title of the filters column. 
  • "Clear all"
    This is the link to remove all applied filters.
  • Number of items in current page
    Only used when the infinite scroll is disabled.
    {{from}}, {{to}, {{nbItems}} can be used to be replaced in the label. 
    Items {{from}}-{{to}} of {{nbItems}}
  • Per page dropdown label
    Only used when the infinite scroll is disabled.
    {{control}} can be used to be replaced by the size of page selector, otherwise, the size of page selector will be added after the label. 
    Show {{control}} items per page
  • "Sort by"
    It is used before the sorting dropdown.

When the infinite scroll is enabled, you can also change the labels for:

  • Number of items in the list
    Only used when the infinite scroll is activated.
    {{nbItems}} can be used to be replaced by the number of items in the label.
    {{nbItems}} items
  • "End of list"
    Only used when the infinite scroll is activated.
    This is displayed at the end of the product listing.No more product

Configure the Category and Search Results pages

With Advanced Layered Navigation, you can independently enhance your Category and Search Results pages with an advanced search from: 
StoreSWyomindAdvanced Layered Navigation SettingsDisplay SettingsCategory/Search Results Page

Configure your products listing

For the Category and Search Results pages, you can enable each below option separately: 

  • Update the search results page automatically from the search box 
    For the search pages only. 
    If enabled, the search form autocomplete will be disabled and the product listing will be automatically refreshed according to the new search terms.
  • Update "Search Term" information when a search is performed from the search form
    For the search pages only. 

    You can also update "Search Term" information when a search is performed from the search form.
    You will then find the updated search terms in:
    MarketingSEO & Search Search Terms

  • Enable Ajax Cart
    Instead of reloading the page when adding a product to the cart, the process is done in the background and a notification appears when the product is added to the cart.
  • Display an "Add to compare" button
    An "Add to compare button" will be displayed for each product.
  • Enable "Sort by ratings"
    When enabled, it will be possible to sort products depending on the customers' ratings.

Enable the Highlight

Enable search terms highlight. If enabled, search terms will be highlighted in the search results data.

Note that the highlight is only available in the Search Results page.

Enable the Infinite Scroll

The Infinite Scroll can be enabled in Category and Search Results pages. When enabled, you need to define the: 

  • Infinite Scroll step
    It is the number of items to load at each infinite scroll step. 
    10 items
  • Automatic infinite Scroll
    If enabled, the next step of the Infinite Scroll will be loaded when reaching the bottom of the page.
    Else, a button will allow you to Load more products.
  • Infinite Scroll offset from bottom
    It is the distance in pixel from the bottom of the page that triggers the Infinite Scroll loading. 
    600
  • Display "End of list" message? 
    Display a message at the end of the list or not. 

Add layers to your pages

The Advanced Layered Navigation extension allows you to add as many attribute filters as you need on the top, left, or right side of your Category and Search Results pages. 

Define the layers update

You can first choose to Hide filters with only one value. 

You also have the possibility to refresh the filters according to those that are already selected.

When that option is enabled, you can define how the unavailable filters are displayed: 

  • Disabled
    The values with no product matching will be displayed but won't be available for selection.
  • Hidden
    The values with no product matching will be hidden.

Finally, you will have to choose the filters options sorting method between:

  • Native: The values will be sorted according to the configuration of the attribute.
  • Alphabetical: The values will be sorted according to alphabetical order.
  • Count: The values will be sorted according to the number of results for each option.

Filters state

Choose if you want to enable or disable Breadcrumbs.

If Breadcrumbs are enabled, the path of the filters used to get the current product listing will be displayed.

When Breadcrumbs are disabled, each selected filter will be displayed as below:

If Breadcrumbs are disabled, you'll have the possibility to merge selected values for the same attribute

Enable price input boxes

If enabled, it displays input boxes below the slider to allow customers to filter products by typing any price value.

Enable layers on Top / Left / Right / Mobile

The Advanced Layered Navigation extension allows you to add layers in your Category and Search Results pages. You can:

  • Enable top layer
  • Enable left column layer
  • Enable right column layer
  • The mobile layer is enabled by default:

For each layer, you can:

  1. Add as many attributes as you want by clicking on the + icon.  
  2. Use drag and drop to define the order of each filter.
  3. Choose the filterable attribute.
  4. Define if filters are Closed by default or not.
  5. Show results count for each attribute or not.

  6. Show More/Less option for each attribute.

  7. When the Show More/Less option is enabled, you can configure the number of values to display.
  8. Filter the options (Input filter: not available for categories, price, reviews, swatch)

  9. Update Browser URL so that the browser URL can be updated according to the selected filters' options.
    For example: In the Fitness equipment category, a user selects the red and blue options of the color filter, the URL will be:
    http://www.yourstore/fitness-equipment/color/red-blue 
    Each filters' option will be combined. For example, if you select Update Browser URL for the color and the size, you could get:
    http://www.yourstore/fitness-equipment/color/red-blue/size/s
    These URLs can allow users to access the page with the filters already selected.
  10. Define the attribute on No Index, No follow in order to avoid indexing pages that are not relevant. 
    No Index, No follow is not linked to Update browser URL. If the option is enabled, no link is generated for the filters' options and the search engines won't be able to follow the link with the selected options.
  11. Delete the attribute from the filters.

For each layer, you have the possibility to enable floating layers. If enabled, the left/right layers block will scroll with the page content.

Configure each category page independently

By default, each category page uses the configuration you have defined in:
StoresWyomindAdvanced Layered NavigationSettingsDisplay SettingsCategory Page

Attention, you won't be able to edit the layers' configuration if, from the Display Settings tab of the category, Display Mode is set to Static block only, or Anchor is set to No.

Duplicate the layers configuration

You can quickly apply the same layers' configuration to your category by duplicating the configuration from another category. 

This will apply the same configuration to the category you're editing. 

Apply layers configuration to sub-categories

You also have the possibility to apply the current layers' configuration to all sub-categories.

The layers' configuration of the subcategories will be replaced by the layers' configuration of the category you're editing.

Note that this operation can take a long time.

Enable layers on Top / Left / Right / Mobile for the category page

Advanced Layered Navigation allows you to configure each category page with specific layered navigation.

For that, go to a category page from: 
CatalogCategories

From the category page, you can go to the Advanced Layered Navigation section. 

You have the possibility to switch the Use Store Config option to No and to enable Top / Left / Right / Mobile layers. 

Leave the Use Store Config and Enable options to No if you don't want to apply any layered navigation to a category page. 

You can now add the layers you want for that category. 

Configure the Elasticsearch Core

You can configure the Elasticsearch Core according to your needs in the Magento configuration from:
StoreSWyomindElasticsearch Core 

Enable the logs / debug

The extension comes with logs in order to help you to check the frontend requests, the indexation, and the Elasticsearch server status. 

Note that the debug mode depends on the IPs authorized in your Magento configuration.

Enable request log

A log file is created for the frontend requests:
var/log/Wyomind_ElasticsearchCore_Frontend_Requests.log

Enable indexation log

A log file is created for the reindexation process:
var/log/Wyomind_ElasticsearchCore_Indexation.log

Enable client log

A log file is created for the Elasticsearch client calls:
var/log/Wyomind_ElasticsearchCore_Client.log

Enable Elasticsearch Server status log

A log file is created for the Elasticsearch Server status:
var/log/Wyomind_ElasticsearchCore_Server_Status.log

Receive a backend notification when the server fails

When the Elasticsearch Server status log is enabled, you can enable and define your own configuration for the backend notification subject and content.

Note that you have the possibility to use variables in the notification content:

  • {{store_id}}
    Store ID
  • {{code}}
    Store code
  • {{name}}
    Store name
  • {{server_version}}
    Elasticsearch Server version
  • {{servers}}
    Servers

Receive a mail notification when the server fails

When the Elasticsearch Server status log is enabled, you can enable and define your own configuration for the email notification.

Note that you have the possibility to use variables in the email content: 

  • {{store_id}}
    Store ID
  • {{message}}
    Returned message
  • {{server_status}}
    Elasticsearch Server status
  • {{server_version}}
    Elasticsearch Server version

Configure the server settings

You can configure the general Elasticsearch settings.

Elasticsearch Server version

Here will be displayed the version of the Elasticsearch server that you have installed.
6.3.2

Note that the version will be updated with the right value after having saved the config a first time or using a command line.

Servers

The servers must be written as host:port and separated with a comma.
Follow this pattern for full available parameters.
Check that your servers are correctly configured by clicking on TEST servers.

Verify Host

This is only used for https connection. You can set that option to No if you don't have a valid SSL certificate.

Connect Timeout

Number of seconds after a timeout occurs for every request.
5 seconds

Configure the indexing settings

Index Prefix

This is used to prefix index names in order to avoid potential collisions. 
demo_m2_

Index Settings

Having more shards enhances the indexing performance and allows to distribute a big index across machines and having more replicas enhances the search performance and improves the cluster availability.

When clicking on Use system value, the default configuration is reinitiated.

Be careful when modifying this parameter. Write consistency (one, quorum, or all) must be considered in order to avoid timeout write action.
More info here: Index settings properties reference

Analysis Settings

This is where you can define the analysis settings.

When clicking on Use system value, the default configuration is reinitiated.

See more about the Analysis settings.

Safe Reindex

Reindex in a temporary index and switch to it once finished. Especially useful for large product catalogs.

Automatically run indexers if invalidated

In some cases, you might need to reindex indexes automatically as it can take a lot of time. Then you can choose to automatically run indexers via a cron task when they are invalidated.

A notification is displayed in the header of Magento when indexes are invalidated.

If you disable this option, see how to run your indexes manually.

Check the status of the indexes from:SystemWyomind Elasticsearch CoreManage Indexes

Configure the search settings

Query Operator

By default, it is set to AND. You may have fewer results with the AND operator but they’ll be more relevant.
"digital camera" is translated to "digital AND camera" or "digital OR camera"

Enable Product Weight

This enables product weight modifier. It is only available for search results.

When product weight is enabled, you can assign a weight to any product from the backend product page in the Elasticsearch tab. 

Use parent images

By enabling this option, when a product (configurable or bundle) is found from the data of a child product, then the parent product images will be used instead of the child product images.

Return available products first?

Enable this option to return the products available for purchase before the products not available.

Configure the entities settings

You can configure the indexing of the attributes more finely. 

  1. Open each group of attributes using the arrow
  2. Find all the attributes grouped by type. 
  3. When fields are grayed out, it means that the attribute is indexed by default by the module.
    To be able to modify the searchable option, the attribute must be indexable.
  4. For an attribute to be searchable it must be indexed.
    To be able to modify all of the following options, the attribute must be searchable.
  5. You can boost each attribute you are indexing by assigning them a weight from 1 to 10.
    Note that 10 is the highest weight. 
  6. You can start matching results from the first 1 to 5 characters. 
  7. You can start matching results from the last 1 to 5 characters. 
  8. The analyzer defines the way in which the content of the attributes will be analyzed. You have the choice between several analyzers. 
    Note that the automatic mode is suitable in most cases. 
  9. You have the possibility to enable the approximative search for each attribute and choose the fuzzyness level:

    0: the number of possible errors is 0 whatever the size of the search word
    1: the number of possible errors is 1 whatever the size of the search word
    2: the number of possible errors is 2 whatever the size of the search word
    AUTO: generates an edit distance based on the length of the term. Should generally be the preferred value. 

    For the AUTO mode, the length of the words has an impact on the edit distance:
    0..2: must match exactly
    3..5: one edit allowed
    >5: two edits allowed

    Check the Elasticsearch documentation for more info on the fuzzy query mode
The attributes used in the search with Advanced Layered Navigation are automatically added to the Elasticsearch Core index.

Category

You can enable Category Search so that they can be indexed in Elasticsearch.

If you do, you need to select and configure the category attributes that are searchable.
Description
Name
Page Title
URL Key

Category indexing is only used with Enhanced Autocomplete and Multifaceted Autocomplete.

CMS

You can enable the search among your CMS pages to be indexed in Elasticsearch.

You just need to select and configure the searchable attributes. 
Content, Content Heading, Identifier, Title

You also have the possibility to exclude some pages that may not be relevant from the search results. 
404 Not Found, Enable Cookies, Privacy Policy

CMS page indexing is only used with Enhanced Autocomplete and Multifaceted Autocomplete.

Product

When the Product Search is enabled, the products are indexed in Elasticsearch.

You can define the image size in pixels. 
50px

The images will be used in the autocomplete with Enhanced Autocomplete and Multifaceted Autocomplete.

Then, select and configure the attributes that are searchable.
Product Name
SKU
Color
Description
Gender
Manufacturer

Attention, after having selected the attributes, indexes are invalidated. According to your configuration, they will be automatically reindexed by cron task, or you'll have to manually reindex them.

Configure the frontend design

You have the possibility to define your preferences for the colors and the display.

Loader Image

Choose the image you want to display when categories and search pages are loading. It can be:

  • jpg
  • jpeg
  • gif
  • png

Primary color

Used for the main elements.

Secondary color

Generally used for highlighting search terms in the search results.

Background primary color

Generally used as the products listing background.

Background secondary color

Generally used as the secondary entities listing and layers background.

Enable overlay

Dark overlay behind the autocomplete popup.

Available if you have the Multifaceted Autocomplete or the Enhanced Autocomplete extension. 

Enable blur effect

Blurred background behind the autocomplete popup.

Available if you have the Multifaceted Autocomplete or the Enhanced Autocomplete extension. 

Enable transition

Smoothly show/hide the autocomplete popup.

If enabled, you can define the duration of the transition in seconds. 
0.2

Available if you have the Multifaceted Autocomplete or the Enhanced Autocomplete extension. 

Developer tools

Test Search

The Test Search is equivalent to the frontend search with debug info. This allows you to control how the search will work with the Elasticsearch Core configuration.

You can access the Test Search page from: 
SystemWyomind Elasticsearch coreTest Search

You can configure:

  • Search term
    Add the term you want to search.
  • Results limit
    Define a limit for the number of results displayed.
  • Storeview
    Choose the store view from where you want to run the search.
  • Customer Group
    Choose the customer group to search from.
    Useful to control the product prices for a specific customer group.

After that, you can click on Search

A grid will display the results for your search. 

When clicking on Show details, you should get more details about the results.

This is particularly useful to know everything that is returned in the search.

The explanation field explains how the score is calculated and why the product appears first in the search results.

Test Analyzers

As our module offers the possibility to create your own analyzers, it is important to be able to test them.

You can access the Test Analyzers page from: 
SystemWyomind Elasticsearch coreTest Analyzers

Add your code in the Custom Analyzers field, select the Built-in Analyzers you want to test, and add a Test phrase

Click on Run Tests

The result of the analyzer will be displayed in the table below. 

Below are some examples:

whitespace: will analyze by separating words with spaces

standard: will separate words with spaces, apostrophes, chevrons ... and remove HTML tags to keep only useful content

Manage the indexes

You have the possibility to get more information and to manage your indexes directly from the table in:
SystemWyomind ELasticsearch CoreManage Indexes

The indexes are automatically updated after the below actions:

  • Add / Edit / Delete a product
    The product is updated at the product index level.
  • Add / Edit / Delete a CMS page
    The CMS page is updated at the CMS index level.
  • Add / Edit / Delete a category
    The category is updated at the category index level.
  • Category products list update
    The category is updated at the category index level and the products previously and currently linked to the category are updated.
  • Review added to a product
    The product rating is updated at the product index level. 

Indexer

There are 3 types of index:

  • category
  • cms
  • products

Description

In the Description column, when clicking on More information, you can see:

  • demo_m2_default_category
    It is the name of the index at the Elasticsearch server level under the below format:
    the prefix + the storeview code + the index type
  • 36 documents
    It means that 36 categories are indexed.
  • 14,77 kB
    It is the size of the index on the disk.
  • View Mapping
    When clicking on View Mapping, a popup should open and display the mapping data. 

Last Update

The last time the index has been run will be recorded in the Last Update column. 

Last action state

The last action state will be recorded in this column. You can also see the number of entities that were indexed by hovering the mouse over the status.

When running an index, a progress bar will display its status and some information about the indexing process.

Status

From the Status column, you can see if the indexes are valid of invalidated. 

According to your configuration, indexes will be automatically reindexed by cron task, or you'll have to manually reindex them.

Action

From the Action column, you can choose to:

  • Flush the index: this will empty, reset the index.
  • Run the index: this will fully reindex the entities.
  • Run via cron: this will trigger the cron task to run the selected index.

Note that you can reindex any of your attributes. See how to make your attribute searchable.

Browse Data

You can easily see what is indexed at the category, CMS pages, and product level in that section:
SystemWyomind ELasticsearch CoreBrowse Data

From the Action column, you have the possibility to:

  • Edit each line
    Redirects you to the category/CMS/product page
  • See the raw data
    Opens a popup that displays the raw data; what is really indexed in Elasticsearch.

Use the Command Line Interface

The extension comes with several command lines you can easily use.

Update Elasticsearch server version

To update the Elasticsearch server version with the right, you can use the below command line:

bin/magento wyomind:elasticsearchcore:update:server:version​

Update the configuration file

To update the configuration file which is used on the frontend to avoid loading the full Magento Core, you can use the below command line:

bin/magento wyomind:elasticsearchcore:update:config

Reindex your data

To reindex your data, you can use the below command line:

bin/magento wyomind:elasticsearchcore:indexer:reindex [options]

Options:

  • -s storecode or --store storecode
    The code of the store view for which to re-index data.
    Note that this parameter is unique, you can’t add many store codes.

    To reindex all types for the store view which code is “storefr”:

    bin/magento wyomind:elasticsearchcore:indexer:reindex -s storefr

    or

    bin/magento wyomind:elasticsearchcore:indexer:reindex --store storefr
  • -i type or --index type
    A space-separated list of index types: cms, category, and product

    To reindex products only:

    bin/magento wyomind:elasticsearchcore:indexer:reindex -i product

    or

    bin/magento wyomind:elasticsearchcore:indexer:reindex --index product
    You can also reindex your brands when using the Shop by Brand extension. 
  • -p ID or --product ID
    The ID of the product to reindex. 
    Note that this parameter is unique, you can’t add many products.
    To reindex product with ID 2:
    bin/magento wyomind:elasticsearchcore:indexer:reindex -i product -p 2

    or 

    bin/magento wyomind:elasticsearchcore:indexer:reindex --index product --product 2

 
 

More examples:

To reindex all index types for all store views and products:

bin/magento wyomind:elasticsearchcore:indexer:reindex


To reindex categories for the store view which code is “storefr”:

bin/magento wyomind:elasticsearchcore:indexer:reindex -s storefr -i category


To reindex categories and CMS pages:

bin/magento wyomind:elasticsearchcore:indexer:reindex -i category cms

 

 

When running an index, a progress bar will display its status and some information about the indexing process.

Note that this will be logged in Wyomind_ElasticsearchCore_Indexation.log.

Manage your search results

Like the product attributes, you can assign weight to your products directly. 

Give weight to your products

Assign weight to products

To boost your products in the search results, you can give them a weight. For this, go in:
CatalogProducts

There, edit a product you want to showcase.

In the Wyomind Elasticsearch Core tab, you can define the weight from 1 to 10. 

Note that 10 is the highest weight. The higher the weight, the more the product will appear first in the search results.

This is only possible when the Product weight option is enabled in the Elasticsearch Core configuration. 

Ignore products in the indexation

You have the possibility to ignore products in the indexation process. For this, go in:
CatalogProducts

There, edit a product you want to ignore.

In the Wyomind Elasticsearch Core tab, you can switch the Ignore the product for indexation option to Yes

When changing this value, a full reindex must be run (manually or using the CLI).

Manage the synonyms in your search results

The extension takes into account the synonyms in the search.

Create groups of synonyms

You can create new groups of synonyms from:
MarketingSeo & SearchSearch Synonyms

For example, if you create the list of synonyms:
shoes,footwear

This means that when searching for "orange shoes", the extension will search:
orange shoes
orange footwear

If other synonyms are defined such as:
red,orange,yellow

In that case, the extension will search:
red shoes
red footwear
orange shoes
orange footwear
yellow shoes
yellow footwear

All the corresponding products will then be displayed in the same list.

Provide a super fast and accurate search experience for your customers!

Smartly provide instant and accurate search results to your customers and offer them a better search experience with the Elasticsearch Suite for Magento® 2!

  • Lifetime upgrade
  • 6 Months priority support
  • 30 days money-back
  • Extensible source code
  • Free composer access
  • Marketplace approved
Want to know more?

What’s in the autocomplete?


Products
Convert more visitors into customers by offering instant refinable search results.

Categories
Bring your customers to a wider range of products by adding categories in the search.

CMS Pages
Give something extra: provide search results on your CMS pages right into the autocomplete.

Enriched search results

Show more/less
Give the user the freedom to expand or not the filters.

Results quantity
Show the number of results by attribute.

Filter sorting
Choose how filters are sorted: default, alphabetically, or number of results

Boosted product visibility

Weight
Control which products are highlighted in the search results by assigning weight to them.

Did you mean?
Don't lose sales just because of a spelling mistake, propose search terms suggestions.

Enhanced autocomplete

Extended sorting
Allow sorting products by relevance, price, ratings, or any sortable attribute.

Keywords highlight
Emphasize keywords in the search results.

Search results available anywhere
Make search results available from any page of your shop.

SEO Optimization

Generate SEO-optimized URLs that are readable by search engines.
Control which filtered pages will be crawled by search engines and avoid indexing pages that are not relevant with the No Index, No Follow option.

Cross-device tools

Fully responsive
Offer an optimized mobile website experience to users with the Suite, designed to be responsive on all devices.

Multi-theme skin
The Suite only requires a few efforts to easily adapt to any Magento® theme.

Successful UX on Search results and Category pages

Convert more visitors into customers thanks to optimized search results and product listing pages. 

Enriched layered navigation

Instant refresh
The filters are updated in real-time according to the filters selected by the customer.

Layers option filters
Offer unique search speed to each user thanks to the text field filter.

Sticky Layers
Enable sticky layers for the category and search results pages.

Practical price filter

Effective slider
Allow your customers to drag and drop the cursor on the slider in order to filter price ranges as they need.



Accurate input boxes
Add input boxes below the slider to allow customers to filter products by typing any specific price value.

Horizontal/Vertical navigation

Organize the navigation as you want and add top/left/right layers in the Category and Search results pages. 

Accurate filters

Adaptable content
Adapt displayed filters to the situation, not only to the available data.

Relevant information
Offer smoother and more relevant navigation by avoiding displaying too much information.

Enhanced product listing

Extended sorting
Allow sorting products by relevance, price, ratings, or any sortable attribute.

Keywords highlight
Emphasize keywords in the search results.

Seamless user-interface

Custom Look & Feel
Customize the look and feel from your Magento® back-office.

 

Fast AJAX cart
Avoid reloading the page when adding a product to the cart.

Additional Buttons
Add "Add to cart/wish-list/compare", "Email to a friend" buttons.

Intuitive breadcrumbs
Create a better UX and improve crawlability using breadcrumbs.

Products display
Choose to present your products in a list or in a grid.

 

Infinite Scroll
Give the best infinite scrolling experience to your customers.

Configurable image
Display the product images that best match the search.

More product details
Display product options: ratings, configurable attributes.

 

Relevant search results


Search terms synonyms
Take into account synonyms in the search and help customers while shopping on your store.

Enhanced Search Terms
Make your search box more intelligent and enrich your Magento® search terms.

Elasticsearch possibilities fully exploited

The Suite uses the power of Elasticsearch to centralize the storage of your data and ensure very high relevance and analyzes as powerful as scalable.

Check out all the possibilities you have with the Suite trying our demo, or contact us if you have any questions.

Freqently Asked Questions
Pre-sales informations

This extension works with Magento Community Edition and also Magento Enterprise Edition. To know if Elasticsearch® Suite is compatible with your Magento version, please check the Compatibility tab.

Refer to the below table to know which server is compatible with your version of Elasticsearch:

Wyomind

Magento

Elasticsearch server

Elasticsearch/elasticsearch library

Elasticsearch v5.0

v2.0 /

v2.1 /

v2.2

v2.x v2.x
Elasticsearch v5.1.0
Elasticsearch v5.1.4 v2.x / v5.x v5.x
Elasticsearch v5.3
Elasticsearch v5.3.4
Elasticsearch v6.0 v2.x / v5.x / v6.x

v6.x

Elasticsearch Core v2.0

v2.1 /

v2.2 /

v2.3 /

v2.4

Elasticsearch Core v3.1

Included in the extension

Elasticsearch Core v4
v2.x / v5.x / v6.x / v7.x
License and domains

A license is valid for an unlimited period of time on one single Magento installation

  • If you're using more than one Magento installation, you will have to buy a separate license for each instance.
  • if you're running several domains on a same Magento installation, you will need only one license for all of them.
Although your license doesn’t have a limited period of validity, your support period does. By purchasing an extension, you’ll be granted a 6-month support period for free. Passed this period, you will have to pay for a new one (see FAQ: Extend your Support period)

You can pre-register your live domain to your license in advance.

Thanks to this option, you'll be able to get the extension ready to use on your domain before it goes live.

To pre-register your production domain: 

  1. Go to:
    mY accountLicenses & DOwnloads
  2. Click on  next to the extension you want your domain to pre-register on.
  3. Click on the link at the bottom of the page saying:
    Do you want to pre-register your domain in order to be ready to go live?
  4. Finally, enter your domain name and click on pre-register now .
Attention, this doesn't mean your license is activated. You'll still have to activate it on your new domain when the extension is installed. 

One license is valid for an unlimited period of time on one Magento installation only. However, it is possible to extend or transfer your license in 2 cases: 

  • If you would like to add your testing environments to your license. 
    In that case, it is possible to extend your license to an unlimited number of domains for free.
    For example: mywebsite-staging.com or mywebsite-dev.com
  • If you want to transfer your license to another live domain.
    In that case, the support period for your license must still be active.

To be able to use Elasticsearch® Suite on both your production and testing environments, follow the instructions below:

  1. Download Elasticsearch® Suite.
    (see FAQ: Extensions download)
  2. Install Elasticsearch® Suite on your environment.
    (see FAQ: Extensions installation)
  3. Activate the license.
    (see FAQ: Extensions activation from the backoffice or Extensions activation from the CLI)

Also, if you are managing a large amount of domains, please contact us so that we can automatically whitelist these domains.
Extension versioning and download

In order to download Elasticsearch® Suite, log into your Wyomind account:

    1. Go to:
      my accountLicenses & downloads 
    2. Click on the  icon next to Elasticsearch® Suite.

      A new window opens.

    3. Choose the version of Elasticsearch® Suite.
      You will be able to choose the most recent version of Elasticsearch® Suite (for both Magento 1 and Magento 2).
    4. Click on  .

Your download can start.

When purchasing an extension from wyomind.com, you benefit from a lifetime upgrade. You can at any time download the latest version of the extension directly from your account. 

To upgrade Elasticsearch® Suite, follow the steps below:

  1. Go to:
    my accountLicenses & Downloads
  2. Click on  next to Elasticsearch® Suite.
  3. Choose the latest version of Elasticsearch® Suite (for Magento 1 and Magento 2).
  4. Click on download .
  5. Install the new version of Elasticsearch® Suite to update your Magento admin. 

Prerequisites, Installation, Activation

To use Elasticsearch® Suite, you first need to have a recent version of Java installed and the Elasticsearch server running.

  1. Download the latest version of Elasticsearch from:
    https://www.elastic.co/downloads/elasticsearch
  2. Install it following:
    https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html#install-elasticsearch

To install Elasticsearch® Suite, copy the content of the unzipped folder and paste all files and directories in your Magento 2 root directory.

To install guzzlehttp libraries, run the following commands:

$ composer require guzzlehttp/guzzle
$ composer require guzzlehttp/ring
If the server is Nginx, replace the first line by the second in the Nginx configuration file:
location ~ (index|get|static|report|404|503)\.php${
location ~ (index|get|static|report|404|503|elastic)\.php${

Add the repository to your composer configuration with the below command:

composer config repositories.wyomind composer https://repo.wyomind.com

Run the composer installer:

composer require wyomind/elasticsearchmultifacetedautocomplete wyomind/elasticsearchlayerednavigation
If the server is Nginx, replace the first line by the second in the Nginx configuration file:
location ~ (index|get|static|report|404|503)\.php${  
location ~ (index|get|static|report|404|503|elastic)\.php${

In your Command Line Interface, execute:

bin/magento setup:upgrade --keep-generated

If you are using a production mode, also execute:

bin/magento setup:static-content:deploy
bin/magento setup:di:compile

In your Command Line Interface, execute the below command line:

bin/magento wyomind:license:activate \
Wyomind_ElasticsearchAutocomplete,Wyomind_ElasticsearchMultifacetedAutocomplete,Wyomind_ElasticsearchLayeredNavigation,Wyomind_ElasticsearchCore \
ACTIVATION_KEY_1,ACTIVATION_KEY_2,ACTIVATION_KEY_3,ACTIVATION_KEY_4

or 

bin/magento wyomind:license:activate \
ElasticsearchAutocomplete,ElasticsearchMultifacetedAutocomplete,ElasticsearchLayeredNavigation,ElasticsearchCore \
ACTIVATION_KEY_1,ACTIVATION_KEY_2,ACTIVATION_KEY_3,ACTIVATION_KEY_4

As the Wyomind extensions regularly check if the Elasticsearch server is available, in your Magento 2 installation, you must have a scheduled task up and running from the server side targeting the cron.php file.

For more information on the configuration of cron tasks in Magento 2, you can check their documentation.

Troubleshooting

With Magento Cloud, the elastic.php cannot be copied to your website root and pub directories because the user does not have the necessary permissions to create these files.

To allow the file to be deployed, you must perform a setup: upgrade locally and manually add the elastic.php and pub/elastic.php files to the repository.

If you're getting the below error:
script_score: the script could not be loaded

You need to edit the Elasticsearch server configuration elasticsearch.yml file such as below:

script.engine.groovy.inline.search: on
script.allowed_types: inline
script.allowed_contexts: search, update​

When using Elasticsearch® Suite with the UltimateSEO module from Mageplaza, this could cause an error 500.

For that, uncomment the below line from the elastic.php file available in Magento root directory: 

Magento® Compatibility

Magento® Open Source

(Magento® Community Edition)

  • 2.4.3
  • 2.4.2
  • 2.4.1
  • 2.4
  • 2.3.7
  • 2.3.6
  • 2.3.5
  • 2.3.4
  • 2.3.3
  • 2.3.2
  • 2.3.1
  • 2.3
  • 2.2.9
  • 2.2.8
  • 2.2.7
  • 2.2.6
  • 2.2.5
  • 2.2.4
  • 2.2.3
  • 2.2.2
  • 2.2.11
  • 2.2.10
  • 2.2.1
  • 2.2
  • 2.1.9
  • 2.1.8
  • 2.1.7
  • 2.1.6
  • 2.1.5
  • 2.1.4
  • 2.1.3
  • 2.1.2
  • 2.1.18
  • 2.1.17
  • 2.1.16
  • 2.1.15
  • 2.1.14
  • 2.1.13
  • 2.1.12
  • 2.1.11
  • 2.1.10
  • 2.1.1
  • 2.1

Adobe® Commerce

(Magento® Enterprise Edition)

  • 2.4.3
  • 2.4.2
  • 2.4.1
  • 2.4
  • 2.3.7
  • 2.3.6
  • 2.3.5
  • 2.3.4
  • 2.3.3
  • 2.3.2
  • 2.3.1
  • 2.3
  • 2.2.9
  • 2.2.8
  • 2.2.7
  • 2.2.6
  • 2.2.5
  • 2.2.4
  • 2.2.3
  • 2.2.2
  • 2.2.11
  • 2.2.10
  • 2.2.1
  • 2.2
  • 2.1.9
  • 2.1.8
  • 2.1.7
  • 2.1.6
  • 2.1.5
  • 2.1.4
  • 2.1.3
  • 2.1.2
  • 2.1.18
  • 2.1.17
  • 2.1.16
  • 2.1.15
  • 2.1.14
  • 2.1.13
  • 2.1.12
  • 2.1.11
  • 2.1.10
  • 2.1.1
  • 2.1
User's reviews
Log into your account to leave your review and get up to 3 months of free support.

5th May 2021

Perfect Search Suite!

We went using since a few years the Elasticsearch in our old store. Now, in our Mage 2 Store it was clear to use also a solution from WYOMIND. The Search Suite is a full package with great search, fast indexing and is easy to handle in the background. In one word? Perfect!

29th April 2021

Fast Layered Navigation

We were looking for a good way for customer to quickly navigate through product attributes (such as colors). The wyomind elastic suite has done this for us.

27th March 2021

Serious Performance Improvement

Wyomind Elasticsearch Suite module gives Serious Performance Improvement for filter usage on M2 category pages and search result pages. It also supports multiselection on the filters for the same attribute level which the Smile Elasticsearch module is not supports. It is a must have module for high concurrent periods like black friday or other campaing periods.

9th March 2021

I would recommend Elasticsearch suite for Magento 2

Way better than the default Magento search. We have a pretty complex and unique M2 build but I have been happy with what Elasticsearch has helped us accomplish.

Andrew - Merchant - User for more than 2 years

4th January 2021

Fantastic Extension

The Magento native search is so poor and the feedback we received from customers was that our search really let our website down. Implementing this search option has vastly improved the look and feel of our website and customer experience. The search promptly finds exact and related products for our customers and the time to basket is greatly reduced. We would really recommend this module to anyone looking to improve their Magento search functionality. 

Vicki Highfield - Merchant - User for more than 1 year

16th December 2020

Fantastic Extension

The search functionality has been invaluable on our site and enhanced the use experience. Finding products has become quick and easy

Simon - Developer - User for more than 2 years

9th October 2020

Great product offering a super fast and accurate search experience for customers

The module is great to deliver instant search results for customers providing a better search experience. We found that our old search was very laggy and delivered inaccurate results, completely unrelated to what our customers were looking for. This module intelligently delivers customers accurate search results and finds products which are related to customer searches for an improved shopping experience.

Online For Equine - Merchant - User for more than 1 year

24th June 2019

Powerful functionality for a Magento 2 store

A powerful extension which gave us some much needed additional functionality for a Magento 2 store we were building. Initially we bought the cheaper individual modules but decided to get a refund and buy this one instead - it gives everything you need, and our dev team found it to be fast and reliable for searching.

13th February 2019

Extreme powerful extension!

This extension is well thought and does its job instantly - so the search of the shop is very very fast. Also the support. I really can tell that the support of wyomind is very fast and professional. The problems have been solved and even some extra wishes on customizations were done instantly without any additional charge. I can really recommend the company wyomind, their support team and of course this great extension!

Changelog

This Elasticsearch Suite is a package composed of 3 extensions:

  • Elasticsearch Autocomplete
  • Elasticsearch Multifaceted Autocomplete
  • Elasticsearch Layered Navigation

  

To know more about the releases of this bundle, you can refer to the below changelogs:

Demo store
Front-end
Back-end
Login
ElasticsearchSuite
Password
ElasticsearchSuite123

Works great with

Shop By Brand

logo Shop By Brand
Starting at €95

Make it easy for your customers to navigate and shop products of their favorite brands on your store. Showcase your brands on separate pages with Shop By Brand for Magento 2.

more details

Stay tuned and get a coupon code of 10% off any purchase while creating your account!

Subscribe now for updates, promotions and products launch twice a month at most.

Please indicate a valid email