Elasticsearch

We worked hard and finally delivered major update of SEO Layered Navigation Plus extension! If you already purchased this extension, please do update, otherwise consider trying it out.

From now on, you can use our extension with Elastic Search - database software for better search.

Benefits

Use Elastic Search if you are interested in:

  • providing more relevant results
  • suggesting search phrases you may want to search instead the one you typed in
  • reducing the Mysql database server load

Getting Started

You can install Elastic Search on your server or create an account at some Elastic Search hosting provider.

After that enable Elastic Search integration in Stores -> Configuration -> Catalog -> Catalog -> Catalog Search -> Search Engine - Elastic Search. If you use 5.x or 6.x Elastic Search version, pick corresponding setting. Then Enter connection settings in the same configuration section and press Test Connection to make sure it works.

Then reindex your magento store by running the following command in shell:

php bin/magento indexer:reindex

This command among other things pushes all the information about your products to Elastic Search database.

After indexer completes, you are all set.

Now category page and quick search page will use Elastic Search database instead of Mysql database.

Logical AND

By default, if you apply several options of the same filter, for instance Color: Red, Color: Green, you will see products having green OR red color. That is, options are combined using logical OR operation.

In come cases, you may apply logical AND operation by setting Template Settings -> Use Logical AND = Yes in filter settings.

For example, consider Suitable For filter for Sneakers category with values Running, Basketball, Soccer, ... Such filter is a good candidate for using logical AND as the customer would like to pick sneakers suitable both for running AND basketball, not either of these.

Custom Filter Order In Category

By default, filters are shown in layered navigation block according to their Position property. This order is the same in all categories.

This update allows you to customize order of filters in specific category by assigning custom position value to the filter in Design -> Layout Update XML category field.

Example

The following example puts Price filter above all the other filters:

<referenceContainer name="sidebar.main">
    <referenceBlock name="main.mana.layered_nav">
        <action method="setFilterPosition">
            <argument name="filter" xsi:type="string">price</argument>
            <argument name="position" xsi:type="string">-2</argument>
        </action>
    </referenceBlock>
</referenceContainer>

Specifying Layered Navigation Block

There are up to 4 layered navigation blocks on the page, and in each of them, you can hide and show filters:

  • In layered navigation in main sidebar:

    <referenceContainer name="sidebar.main">
        <referenceBlock name="main.mana.layered_nav">
            <!-- ... -->     
        </referenceBlock>
    </referenceContainer>
    
  • In layered navigation above products:

    <referenceContainer name="content">
        <referenceBlock name="above_products.mana.layered_nav">
            <!-- ... -->     
        </referenceBlock>
    </referenceContainer>
    
  • In layered navigation displayed on mobile devices:

    <referenceContainer name="content">
        <referenceBlock name="mobile.mana.layered_nav">
            <!-- ... -->     
        </referenceBlock>
    </referenceContainer>
    
  • In layered navigation in additional sidebar:

    <referenceContainer name="sidebar.additional">
        <referenceBlock name="additional.mana.layered_nav">
            <!-- ... -->     
        </referenceBlock>
    </referenceContainer>
    

Other Improvements

This update also contains compatibility fixes with Magento 2.3.2, PHP 7.2, security fixes and other.