Enable Kameleoon Search capabilities

Written by Julie Trenque

Updated on 02/19/2024

4 min


Was this content useful?

Kameleoon Search is a powerful search solution that personalizes results using machine learning to provide product recommendations. 

Personalize your search results by delivering the best-matched products for each visitor. Kameleoon Search offers two main capabilities:

  • Kameleoon Instant Search delivers best in class user experiences from lightning fast search speeds to intuitive category navigation. Boost any search results with customized rules embedded in a drop-down search box.
  • Kameleoon Full Search enables users to discover products with powerful filtering functionality and pre-built faceting options.

Kameleoon Search uses visitor behavior to boost products that are of most interest to the current visitor but can also use price margin and seasonality to boost the most profitable or in-demand products.

Configure the feed for Kameleoon Search 

To enable Kameleoon Search capabilities, you must include some additional product properties in your product feed:

  • Kameleoon Instant Search uses the following information from your catalog feed:
    • Element : yml_catalog > shop > offers > offer:
      • (Required) name, picture, url, and price of the product 
      • (Optional) barcode : allows the user to search by product SKU. 
      • (Optional) typePrefix: adds additional definition text about the product you sell. For example, “a bike for mountain biking”. Used by Kameleoon to provide more accurate search results.
      • (Optional) vendor or vendorCode: allow users to search by manufacturer.
      • (Optional) model: allows users to search by product model 
      • (Optional) tags: you can add a maximum of 5 tags to your product feed to allows users to find your products by keywords.
    • Element: yml_catalog > shop > categories:
      • (Required) name and url of each category. Used to suggest product categories in the Instant search popup, when searching for a product.
  • The following data from your catalog feed are also required if you want to use Kameleoon Full Search capabilities to also provide faceting and filtering capabilities on your result listing pages. By default, Kameleoon automatically adds categories and brands as default filters:
    • Element : yml_catalog > shop > offers > offer:
      • (Optional) param: contains the product attributes (for example, size, color, etc.) to use as filtering options. 
      • (Optional) price_margin: use to boost products with the highest margin in returned results.
      • (Optional) locations: filter products that are not available at the visitor location.

The Kameleoon Search engine supports many languages. It uses stemming algorithms (or “stemmers”) to produce morphological variants of a root word. For example, if a user searches for “chocolate” on your website, items with the words “chocolates”, “chocolatey”, “choco” are automatically linked to the root word “chocolate” and included in the results.

Supported languages:

  • arabic
  • armenian
  • basque
  • brazilian
  • bulgarian
  • catalan
  • czech
  • danish
  • dutch
  • english
  • finnish
  • french
  • galician
  • german
  • greek
  • hindi
  • hungarian
  • indonesian
  • irish
  • italian
  • latvian
  • lithuanian
  • norwegian
  • persian
  • portuguese
  • romanian
  • russian
  • sorani
  • spanish
  • swedish
  • thai
  • turkish

Technical implementation of Kameleoon Instant Search

To integrate Kameleoon Instant Search, add the HTML class “KameleoonProducts-instant-search” to your existing search element in your source code (see example below).

<input class="search-form__input search-bar__input KameleoonProducts-instant-search" type="text">

Note: You need to deactivate your current search engine so that it does not conflict with Kameleoon search engine.

You can fully customize the information that is displayed in the drop-down search box and the default template stylesheet.

Query suggestions

Query suggestions help users find queries that are guaranteed to return results. Kameleoon automatically displays a list of possible queries that your users can select from in the drop-down search box as they type their query into the search bar. For example, when starting to type the word “sneakers”, the user may receive a suggestion to pick a more precise query, such as “sneakers asics” or “sneakers nike”, which would retrieve more specific results. Kameleoon refreshes query suggestions after each keystroke, so the user does not have to enter a full query. Query suggestions can be categories of products or alternative queries.

You can customize the number of categories and suggestions in the “Search > Settings” pages:

  • Input > Enable last queries: display suggestions from the user’s previous searches when the user clicks on the search bar.
  • Input > Recent searches: display the products viewed after the previous search query.
  • Instant search > Categories limit: maximum number of suggested categories for a search query. 
  • Common Settings > Category nesting level: set the category levels you want to be displayed. For example, if you have 3 levels of categories (Men > Sneakers > Running), and you only want to display the last level of category (Running) in the search box, enter the value “3”.
  • Instant search > Brands limit: maximum number of suggested brands for a search query.
  • Suggestions > Suggestions limit: maximum number of suggested queries for a search query.
  • Instant search > Instant search products limit: maximum number of products returned (From 0 to 10).

Drop-down search box design

With Kameleoon, you can fully customize the look and feel of the drop-down search box:

  • Main components elements titles: you can set you own values in the Popup titles section of the Search > Settings page
  • Product information displayed in the search results: you can configure your own template in the Search > Template instant search page. This template supports Liquid Markup. You can use all fields available on the right to customize the search box.
  • Template stylesheet: design your own block in the Search > theme editor page. You can choose between the easy-to-use Basic Editor and the powerful CSS Editor.

Technical implementation of Kameleoon Full Search

Search result listing

<div class='KameleoonProducts-full-search-results' data-search-query='{{search.terms }}' data-search-filters-block='.KameleoonProducts-full-search-filters'></div>

Faceting and filters

<div class='KameleoonProducts-full-search-filters'></div>

You can add the above class names to an existing block on your website.

You can enhance the customization of the result listing by incorporating various available parameters within the product block:

  • data-search-limit: this parameter determines the number of products to retrieve.
  • data-search-offset: it specifies the position of a particular product within the dataset. By specifying this parameter, you can retrieve a subset of products starting from the specified offset value. Typically, offset is used in conjunction with data-search-limit, which defines how many products to retrieve starting from the given offset.
  • data-search-category-names: you can include an array of category IDs from the recommendation results.
  • data-search-callback: this is a callback function that executes once the recommendation data is returned.
  • data-search-error: a callback function that executes when an error occurs.
  • data-search-sort-by: this parameter lets you sort by various criteria, including popularity, price, discount, sales rate, or date.
  • data-search-order: you can specify the sort direction as ascending (asc) or the default descending (desc).
  • data-search-locations: include an array of location IDs from the recommendation results.
  • data-search-price-min: request products that fall within a specific minimum price range.
  • data-search-price-max: request products that fall within a specific maximum price range.
  • data-search-filters: this parameter takes an escaped JSON string with filter parameters. For example, you can use it to filter products based on criteria like Bluetooth compatibility or weight. For instance: {“bluetooth”:[“yes”],”weight”:[“1.6”]}.

Full search design

You can customize the default template and design of your search listing page following these steps:

  • Product information displayed in the search listing page: you can configure your own template on the Search > Template full search page. This template supports Liquid Markup. You can use all of the available fields on the right to customize the search box.
  • Template stylesheet: design your own block on the Search > theme editor page. You can choose between the easy-to-use Basic Editor and the powerful CSS Editor.

Optimizing search results with advanced settings

Kameleoon offers many built-in configuration settings to control how the search engine works and returns products. These settings are available out-of-the-box and don’t require any additional development from your team. 

Here’s a quick review of the features that are particularly helpful for optimizing your search results.

Typo tolerance

Kameleoon provides typo tolerance, which means users can still find the product they’re looking for, even if they misspell it. You can configure how tolerant of typos you want the search experience to be.

Based on Levenshtein distance, Kameleoon allows you to choose the number of typos that might be fixed while typing a search request. Typo tolerance is on by default. You can change the typo tolerance behavior in the Input section of the Search > Settings tab.

In Auto mode, Kameleoon identifies how many typos can be fixed by taking into account the search length, but it cannot exceed two typos. If you want to disable typo correction, choose the value 0.

Search relevance

By default, Kameleoon treats single-word queries differently from multi-word queries. When there’s a multi-word query, each word is considered a separate and unique key. For example, if the user enters the query “winter shoes”, Kameleoon first returns all products that contain “winter shoes”, followed by products with the attributes “winter” and “shoes”. During summer, if the store has no winter shoes in stock, the results can contain entirely different products, some of which might be irrelevant.

When you activate the qualifying search option and search for “winter shoes”, it will only return products labeled as “winter shoes” and nothing else. During summer, instead of random shoes, it will return empty results.
To change the default behavior and make multi-word queries behave similarly to single-word queries, turn ON the “Qualifying search” option in the Admin area section of the Search > Settings tab.


Synonyms tell the search engine about words that should be considered equal (for example, jacket is a synonym of both coat and parka, and trousers can is a synonym of pants). You can specify the synonyms to use in the Search > Synonyms page. Typically, you will want to set synonym rules for queries that return few or no results.

Kameleoon doesn’t provide a built-in synonym dictionary because synonyms are very use-case dependent. However, Kameleoon helps you find synonyms by showing queries with no results in the Search > Statistics page, section Failed search queries. Click on the + icon in the synonym column and configure a synonym rule to help resolve the failed searches.

Stop words

You can remove unnecessary words like “the”, “a”, “it” or any word you believe should not be considered in the query used by visitors. For example, in the case of this query “some waterproof pants for motorcycle”, you may want to ignore the words “some” and “for” before executing the query, and therefore just search for “waterproof pants motorcycle”. 

You can add stop words in the Search > Stop words dedicated page. You can also review popular queries in the Search > Statistics page to identify additional stop words. You can remove a stop word by clicking on the (remove) icon.

Search boosts

You can boost specific products, product categories, or brands to make them appear higher in the results. To do this, create boost queries from the Search > Search boosts page.

You can also schedule a boost for a limited period of time. For example, if you’re running a one-week promotional offer on all Samsung TVs, you can boost all Samsung TVs whenever a user searches for “TV” for that week. You can add as many values as required (a list of products, brands or categories) in the boost type value field and give a higher priority to some boost rules by increasing the boost value.

Note: The entry type field allows you to further customize the boost rules. For example, if you create a boost for the query  sport shoes, and choose the option full, the boost only works if the user searches for sport shoes. If you choose partial, it also works for query sport and and the query shoes

Search redirect

It can be useful to redirect users to dedicated landing pages when they search for products that are promoted in those pages. Kameleoon provides search redirect capabilities that you can use to create redirect rules from the Search > Search redirect page. You can also add multiple entries by uploading a CSV file.

Embedding business logic to rank products in your search results

Customize the ranking of products according to specific business needs. Enable or modify the following options in the Search > Settings > Common settings section: 

  • Sales rate: rank products from lowest (0 to 50) to highest (50 to 100) in the search listing depending on their popularity. Kameleoon will take into account all visitors’ interactions with your products (but mainly transactions) to rank products. To ignore the popularity of a product in the ranking, set the value to 50. 

Note: Configure the timeframe used by Kameleoon in the Settings > Store Settings section.

  • Price margin pressure: this option uses the product <price_margin> tag from your feed. It allows you to rank products from lowest (0 to 50)  to highest (50 to 100) in the search listing. The default value is set to 50 which means that the price_margin value for each product in your feed will not be taken into account.
  • Availability of stock: automatically filter out products with low stock. All out of stock items are automatically removed from search results.

  • In this article :