Attraqt Product Search

Knowledgebase Articles: Attraqt Product Search

Attraqt product search will replace the Swifty platform product search in the site preview once your site is previewed.

Attraqt product search will replace the Swifty product search on the front end once your site is published, regardless of the generic template version id. But if your template has the generic template version id < 9 , you won't be able to change default search settings and configure additional search filters until the template is upgraded. Please see Template Version Control for more information on the generic template version.

See also Attraqt Product Search: Changes to the Website Preview and Website Publish events.

Search Algorithm

By default the products on the search results page are sorted in descending order by relevancy which is influenced by various parameters including the keyword search term and the list of filters applied by the customer.

The default order of products cannot be controlled manually via the Swifty Control Panel because the search ranking of a product is based on how many of the user's query words exist in the product fields values, how common those words are and how frequently they occur in the entire index.

For example, if one product field value contains the user's search word just once, the product will likely be ranked below another product where the value for the same field contains the word many times. If the user's query contains two words, and the first word occurs more rarely in the index, it is considered the more specific word and product results with that word will be prioritised. This means that the search engine is very good at finding products that closely match the user's query.

Indexed fields containing a keyword search term have different relative importance denoted by their weights (see the Search Fields' Weights section below). For example, if a product name field had a higher weighting than a product short description field, the search engine would favour results which contained the user's words in the product name field over results which contained the words in just the product short description field.
There are also some other mechanisms at work which assist the ranking algorithm, such as stemming, spell correction, and the default operator.

The following data is sent to 
Attraqt for a full text search indexing:

Product SKU
Product Name
Short Description
Full Description
Product custom attribute
Choice list option value
Choice list option SKU

If there are no products returned based on the keyword search term entered by the customer, search will do a spell correction and offer search results based on this updated keyword search term. A spell correction functionality uses the concept of edit-distance to determine which of the words available in the search index most closely matches the user's term, and accommodates for mistakes at the start of the word as well as in the middle and at the end.

The search term in quotes is treated as a phrase search and therefore requires a complete match of the words given. This means that search for "music" and music returns different search results because when doing a phrase search, stemming and synonyms are not used.

The search is not case sensitive, although there is special handling for capitalised words based on stemming:

  • If a customer searches for a word where the first letter is in lower case, that word will be ‘stemmed’ first and search will find all the related words. For example, a search for comments will find comment, comments, commenting, commented.
  • If a customer searches for a word where the first letter is in capital, a search will only find that word. For example, a search for Comments will return comments but will not find comment, commenting, or commented.

In most languages, the same concept can be written in several different ways; the most obvious being pluralisation of words, but also different verb endings such as 'ed' for past tense, or 'ing' for present tense, eg 'play', 'played', 'playing', 'player'.

Stemming is the process of removing these suffixes and pluralisations to determine the 'stem' of each word in the record. The same process is also applied to the customer's query words. This allows the customer to search, for example, for 'dresses' and still find products that are described as a 'dress' (and vice versa).

Search by SKU

Customers may also search for a product by entering a product SKU into a keyword search box. If a merchant issues a product catalogue where Product codes (SKUs) are readily available, the customers can look up the product they need very quickly on the website without a need to go through the category navigation.


Stopwords is another useful tool available as part of a new search. It makes sure that the results match what the user is looking for. Stopwords are designed to strip words out of the customer's query that a lot of documents will match, such as 'to', 'the', 'a', or 'in'. A lot of product descriptions will contain these words despite having nothing to do with the customer's intention.

Here is a list of stopwords used by the search:

a, about, an, and, are, as, at, be, by, en, for, from, how, I, in, is, it, of, on, or, that, the, this, to, was, what, when, where, which, who, why, will, with, you, your

Search Threshold

Each result found by search is given a percentage based upon how well it matches the user's search terms. This means that results can be ordered according to their relevance, and less relevant results are placed lower down in the results list. However, when sorting or balancing results, textually irrelevant results can end up being presented on the first page of results, which is often undesirable. To avoid this happening, the shop can be configured to ignore results that are below a certain percentage. 

This also makes the number of results returned smaller, which can be less daunting to a user who would otherwise be presented with dozens or hundreds of pages of results to look through. Adding a threshold also gives a small improvement on the speed in which results are returned, as less data has to be returned.

See Configuring Search Threshold

Search Fields' Weights

Field weighting allows greater importance to be placed on certain fields compared to others. This is especially useful in the case of product names versus product descriptions. If a user searches for a term that appears in the name of one product and the description of another one, the product whose name matches should be returned higher in the results than the one that only matches the description. This logic can also be applied to other parts of the products' information, if it is available, such as the brand name or any custom attribute/option which is indexed for search.

See Editing Search Fields' Weight

New refinement options

Other than browsing for products via category navigation, customers can also use a keyword search to find the products they need. However, on shops with a large range of products, customers may find themselves presented with a wide range of results, many of which may not be relevant. Offering search refinements as part of the shop navigation gives customers the power to filter search results and find exactly what they want much quicker.

For example, if a customer searches for a "TV" and the shop has specified a product custom attribute of "Screen Size", then a customer is able to look through only 40" TVs. If a customer searches for a "dress" and the shop has specified an option list "Size", then a customer is able to look through dresses only in her size.

The following list of fields can be used when configuring a search filter:

Product Category
Product Brand
Product Price
Product Weight
Product Custom Attribute Values (only if your products have custom attributes )
Product Choice List Option Values (only if your products have choice list options )

Search filters by Category, Brand and Price are configured by default.

Instructions on how to configure the filters for the guided navigation can be found here: Working with the Guided Navigation Settings page section

Multiple Selection - using check boxes, customers can select multiple refinements from a facet, instead of just one. For example, a customer can choose to show the "shirt", "dress", and "jacket" products.
Hide Refinement Overflow – if there is a large number of refinements per facet, there is a configurable option to only show a certain number of options (default value is 10) to the customer with the ‘view more/view less’ links that toggle whether to show/hide the overflow.
Colour Pictograms - for product attributes that are Colour, there is an option to show a colour image instead of text to make colour selection a more visual experience. This functionality can be customized for other uses, for example for shoe sizes or brand names.

See also Product Search: Working with Pictograms

Input Box – for the facets with a large number of refinements, there is an option to define their filter type as an Input Box. This allows customers to manually enter the refinement value instead of searching for it in the long list of available options.
Refine by Category – allows customers to filter products by all relevant categories in which they are assigned to. If the guided navigation section is added to a category landing page, customer will see it as if the filter by that category has been applied. This is to make sure that when further refinements are applied, only relevant products within that category are returned in search results.

Filter by Category is always applied to the product list when the customer navigates to it via standard category navigation. If the filter by category is not configured in the Control Panel and the customer removes it, the filter by category will not appear in the guided navigation section. 

Refine by Brand – allows customers to filter products by brands specified on the site.
Changes to Sort by Brand - the Sort by Brands dropdown (which is part of the Sort Section) is available for the shops on generic templates v8 and below.

Due to introduction of the guided navigation functionality, the shops on generic templates v9 and above will no longer have Sort by Brands dropdown  (please seeTemplate Version Control for more information on the generic template version. ). Swifty recommends the merchants to configure and use the filter by Brand instead.

Refine by Price/Weight - allows customers to see the products within specified price/weight range. 

See Filtering Products by Price/Weight

Refine by Attribute/Option - new facets for custom attributes and product options mean that if there are products with variations, customers can now choose to view the search results refined by those values. For example, if products are available in various types of material, customers may choose to see only items made of ‘wood’.

See also Locayta Product Search: Standardizing product data for a guided navigation


Have more questions? Submit a request


Article is closed for comments.