Search and navigation

Last modified by Denis Pavlov on 2018/06/24 13:23

Overview

YC storefront search and navigation consists of a number of tools: full text search (including misspellings and synonyms), product tags search, category navigation, faceted navigation (price, brand and attributes) as well as static links (managed by CMS). One of the powerful features of these tools is that they are not isolated from each other and can be mixed and matched to create complex compound search and navigation criteria, which is fully integrated into breadcrumbs, SEO friendly and are completely localisable

Example of a compound search is "search for a product by keyword 'Intel Core i7' of 'Toshiba' brand within 'Laptops' category in price range '1500-2000' containing a tag 'sale'" would result in the following SEO friendly URL:

search for a product by keyword 'Intel Core i7' of 'Toshiba' brand within 'Laptops' category in price range '1500-2000' containing a tag 'sale'

http://demo.yes-cart.org/category/notebooks/query/Intel%20Core%20i7/brand/Toshiba/price/EUR-_-1500-_-2000/tag/sale

Figure 1 depicts website elements when this URL is accessed.

Figure 1: Search and navigation
 

yc-3.0.0-search-overview.png

YC search and navigation capabilities provide customer with immense amount of control and search refinement capabilities to specify criteria for products they are looking for with precision. This is very important since more than 95% of customers' time is spent searching for the right products. However this does not end there as providing search tools is only half the job, the second half is showing the right results. YC full text search engine does this extremely well accounting for misspellings, synonyms and scoring the matched products to ensure that only most relevant results are shown at the top of the list.

YC search and navigation capabilities create atmosphere of having a personal assistant during online shopping making the process enjoyable and fun.

All search and navigation capabilities are achieved by YC search engine through creation of full text search index using a number of product attributes, both core and custom. During indexing process keywords and/or variations thereof are associated with attributes of the product. Whenever a search is performed the index is queried with keywords provided and products' attributes that correspond to those keywords are scored. Exact matches give higher scores whereas partial matches give lower score. Product's overall match score depends on the cumulative score from all attributes in the index. Although it may sound complicated (and technically it is) in practice all this means is that whatever keywords customer searches for or refinement(s) they use the best and most relevant match will always be at the top of the list.

  For more information on configuration of search engine please contact us.

Search

Search capability refers to the keyword search facilitated by customer input through search input box on the web site. The keywords are matched against a mix of attributes, namely: product name, brand, product code, SKU code, manufacturers code, navigatable and searchable custom attributes (see product type configuration).

Initially the search is performed on the whole phrase (i.e. if several keyword are used) and if that does not yield results a relaxed word by word search is performed. This ensures that no matter how "bad" customer's keywords are YC will do its absolute best to find at least something. 'No results' page is a major conversion killer in e-commerce, which is why YC will always attempt to find a match and save the day. 

Note that each attribute has its own "weighting", which represents the importance of the match. For example an exact match on SKU code is more important that a match on say product name or an attribute.

  YC has fine-tuned weighted mix of attributes representing best practice. If this does not work well with your type of products it can be adjusted. Contact us to get more information on this subject.

Fuzzy (misspellings)

Search has built in fuzzy matching which allows to perform partial matches even when letters are rearranged within keywords. This feature allows to produce valid result even when search terms are poor. There could be a number of reasons for this: dyslexia, fast typing, problems with spelling. However no matter what the reasons are YC will not loose these customers as the right products will be found no matter what.

Consider example below where customer searches for "tohsiba in gold colour". 

tohsiba in gold colour

http://demo.yes-cart.org/category/notebooks/query/tohsiba%20in%20gold

There are several problems with this phrase that would leave other e-commerce platforms in tears but not YC. Firstly Toshiba is misspelt with 'S' and 'H' swapped, secondly we have pollution terms 'in' and 'color' which do not add anything to the criteria but are encountered frequently in descriptions and product names thus creating a flood of irrelevant results and finally we we have colour 'gold' hidden within the phrase. Looking at the result in figure 2 YC correctly identified Toshiba brand and was able to display products that come in gold - results relevancy at its best.

Figure 2: Fuzzy matching
 

yc-3.0.0-search-fuzzy.png

  For more information on configuration of search engine please contact us.

SKU Relevancy

As discussed in PIM products can come in variety of attributes (i.e. multi SKU). In many cases these variations are quite visual, for example if the attribute is colour. YC introduces concept of relevancy whereby products that appear in search results are further scored at SKU level thus suggesting the best matching SKU (image, price and information). This feature looks very impressive especially with colour attributes.

Consider the following example from demo store whereby global search contains keyword 'white'.

white computer mouse

http://demo.yes-cart.org/query/white%20computer%20mouse

Figure 3: Example SKU relevancy for white products
 

yc-3.0.0-search-relevancy-white.png

All product images are white. There is only one pc mouse product with white colour, which appears as the first match. The rest are other white products in shop that may be relevant to the customer.

Now consider changing the keyword to 'blue'.

blue computer mouse

http://demo.yes-cart.org/query/blue%20computer%20mouse

Figure 4: Example SKU relevancy for blue products
 

yc-3.0.0-search-relevancy-blue.png

The whole results page is now filled with blue product images. There is only one pc mouse product with blue colour, which appears as the first match. The rest are other blue products in shop that may be relevant to the customer.

SKU relevancy applies to any attribute (though it is most impressive with colour). Any keyword relating to attribute that visually changes the product will have the same effect. And the more relevant visually search results will aid the conversion (after all who has the time to read all those product spec's in our fast paced world).

  For more information on configuration of search engine please contact us.

Synonyms

Synonyms (not in the conventional way but in e-commerce world) can refer to a number of concepts:

  • Multi language concept, whereby keywords can represent a mix of different languages on multi language site (e.g. white, weir, білий, белый)
  • Pure synonyms concept, whereby keywords have same meaning (e.g. notebook is interchangeable with laptop)
  • Conjugation concept, whereby keywords are subject to linguistic conjugation e.g. words having different suffixes depending how they used in a sentence.

Multi language concept

Customers search for products in the way that is most convenient to them and with ever increasing globalisation multilingual support becomes ever more important topic. YC approach is that no matter what customer is searching for or what language they use YC will find a match for it.

Consider the following example where this concept is put to test on demo site when we search for "Weiß клавиатура Logitech" (white keyboard Logitech), which has a mix of German, Russian and English.

"Weiß клавиатура Logitech" (white keyboard Logitech)

http://demo.yes-cart.org/category/keyboards/query/Weiß%20клавиатура%20Logitech

Figure 5 depicts the results of the search. Active language is English however the results are still correct. Top match is white keyboard by Logitech, other Logitech keyboards appear next and finally a white keyboard by ASUS concludes result page. It may be puzzling why black keyboards appear in the middle followed by white ASUS and that is because brand names have slightly higher weight value in default implementation thus giving these products higher overall score pushing them above white products by other brands.

Figure 5: Search result for multilingual keywords
 

yc-3.0.0-search-synonyms-multi.png

As long as PIM data is consistent and has good translations the search will yield relevant results. To improve matches further consider conjugation and pure synonyms.

  For more information on configuration of search engine please contact us.

Pure synonyms

Synonyms are probably the easiest concept to grasp. Due to language specifics or geo location slang common terms that customer use to describe products may differ. Consider how term 'laptop' that may be preferred over 'notebook', or term 'pants' used in America to refer to 'trousers' and is used to describe underwear in the UK.

To overcome these differences additional keywords may be provided as searchable custom attributes on products.

In order to configure synonyms all is needed is to:

  1. Create one PRODUCT custom attribute. Recommended code is SYNONYMS.
  2. Create corresponding product type attribute for product types that require synonyms and make sure that 'search' flag is checked.
  3. Specify required synonyms in this attribute for products (this can be done manually via product editor "attributes" tab or via bulk import of attributes)

Now using synonyms in search will result in configured product being displayed. Managing synonyms at product level as custom attribute gives a lot of flexibility and precision to ensure that search results are spot on. 

Figure 6 depicts how SYNONYMS attribute is created and configured to "laptop, notebook, netbook" for product "15-r017dx".

Figure 6: Configuring synonyms
 

yc-3.0.0-search-synonyms-pure.png

  For more information on configuration of search engine please contact us.

Conjugation concept

Conjugation refers to morphology of words influenced by other words in a sentence. For example German adjectives or Slavic languages adjectives would change their endings depending on whether they are used with masculine or feminine noun. 

This creates a problem as short words may morph considerably thus decreasing overall match score. Consider the following usages of adjective 'blue' in Russian:

Adjective Usage Change 
blue=синий blue socks=синие носки Masculine noun changes 1 letter, which is 1/5 = 20% change 
blue=синий blue fabric=синяя ткань Feminine noun changes 2 letters, which is 2/5 = 40% change 

The same can be exhibited in many languages and change of the word of 40% can degrade search precision significantly as that would mean that matches will be calculated at 60% or less if we account for misspellings.

In order to combat this problem additional custom attributes can be used for each significant attribute that is subject to conjugation to provide all variations of the value thus marking perfect matches. This way no matter how an adjective value is used in a search it would still match.

In order to configure conjugation synonyms all is needed is to:

  1. Create a PRODUCT customer attribute corresponding to a significant attribute subject to conjugation. Recommended code is original attribute code with "_CONJUGATION" suffix.
  2. Create corresponding product type attribute for product types that require synonyms and make sure that 'search' flag is checked.
  3. Specify required synonyms in this attribute for products (this can be done manually via product editor "attributes" tab or via bulk import of attributes)

Now using conjugation synonyms in search will result in configured product being displayed. Managing synonyms at product level as custom attribute gives a lot of flexibility and precision to ensure that search results are spot on. 

Figure 7 depicts how 1766_CONJUGATION attribute (Conjugation of Colour of Product) is created and configured to "белая" (white) for product white "Mini Mouse M187" SKU in accordance to gender of the product noun.

Figure 7: Configuring conjugation synonyms
 

yc-3.0.0-search-synonyms-conjugation.png

  For more information on configuration of search engine please contact us.

Navigation

Navigation refers to guided search for products, which is different to keyword search described in previous sections. Whereas keyword search acts upon random input from the customer, navigation proposes suitable options depending on current view. Say if customer is viewing a category they may be suggested sub categories to navigate to (if there are any) or parent category to return to (if one exists), as well as most significant options within this category, such as product features.

There are several types of navigation supported by YC:

  • category navigation which is driven by the layout of categories within master catalog
  • brand navigation driven by reachable products within given category
  • product type navigation driven by reachable products within given category
  • price navigation driven by price ranges definitions and reachable products within given category
  • attributes navigation driven by navigatable attributes defined for product type and reachable products within given category

Category navigation represents the most basic type and allows customers to select areas of interest represented by clearly defined category structure. More complex criteria such as brand, product type, price and attributes navigation are derived from products available within current category (and its sub categories depending on catalog setup). Brand, product type, price and attributes navigation are driven by products properties they are also referred to as faceted (or filtered) navigation. Facets can be composed of single values or ranged values also referred to as buckets. Each bucket contains one of more products. Therefore using facets YC is able to provide clear options to the customer with counts of products within each bucket. This provides a very visual and easy to use mechanism of drill down searching for customers as choosing an option inevitably reduces options for other features gradually narrowing down to a small set of products with all features required by the customer. 

Figure 8 depicts this drill down navigation concept. When an additional option is selected the bucket counts reduce as well as number of results shrinks from two pages to single page.

Figure 8: Faceted (Filtered) navigation
 

yc-3.0.0-search-navigation.png

Category

Shop category structure depends on the top level categories assigned to it. Each shop inherits the category structure for each of its top level categories. 

Figure 9 depicts this concept whereby shop category structure is comprised of several category branches from master catalog. Note that 'Example' is a category which is not to be exposed, however 'Top End Brands' which is a subcategory thereof should. Examining shop category assignments in figure 9 it can be exhibited that 'Top End Brands' is directly assigned to the shop. Thus SHOP10 catalog consists of categories from under the 'YC Demo Catalog' category of master catalog and one subcategory of 'Example'. Looking at the home page view all categories appear as a single catalog to the customer. When navigated to the 'Top End Brands' it can be seen that the sub categories 'HP Specialised' and 'Alientware' are inherited.

  For more insight on combinations of shop category assignments please refer to master catalog management

Figure 9: Category navigation
 

yc-3.0.0-search-navigation-category.png

  For more information on configuration of search engine please contact us.

Brand and Product Type

As of 3.3.x brand and product type are special variations  of attribute navigations. Whereas in previous versions brand would represent a separate block, in 3.3.0+ versions there are special product attributes brand and productType that can be used in product type configuration to relay values from the brand and product type properties of product into attributes navigation. This allows to treat these values just like any other attribute in terms of navigation and faceting.

When a customer navigates to a category YC scans the filtered navigation parameters set for that category and if the brand or productType  are specified for given category's product type then single value buckets are calculated displaying names and counts. The names and counts are aggregated values from the products that can be found in a given category taking into account any additional search and navigation criteria applied. For more details how attributes are configured for product type see attribute navigation section below.

It may seem confusing to talk about having product type navigation which is defined by product type assigned to a category, however category product type is not the same as product type of the products contained within it. For example networking category may have "network product" product type defined for it as a generic type for products contained within it, however the products themselves are not restrained to this type only and could be "cables", "switches", "ethernet cards" and so on. So having product type in navigation is very beneficial especially in large catalogs allowing customer to quickly narrow down the search by type of product.

Figure 10 depicts a typical brand navigation facet. All product results that conform to current search and navigation criteria form a unique set of brand names, each of which is displayed in the brand facet. All products in search result are counted according to the brand value to produce bucket count.

Figure 10: Brand navigation
 

yc-3.0.0-search-navigation-brand.png

  For more information on configuration of search engine please contact us.

Price

When a customer navigates to a category YC scans the filtered navigation parameters set for that category and if the navigation by price is enabled then ranged values buckets are calculated displaying price range and counts. The ranges are defined by price tier settings on the category. The reason for this is that individual prices can produce buckets which are too granular and not very useful to the customers. Putting prices in sensible ranges will provide a much better option. The price tiers are currency specific as pricing policies may affect the price ranges that business users would like to present to the customers. The range values are derived from price tier settings and counts are aggregated values from the products prices that can be found in a given category taking into account any additional search and navigation criteria applied.

Figure 11 depicts a typical price navigation facet for euro. All product results that conform to current search and navigation criteria are counted according to buckets defined by price tiers settings, each of which is displayed in the price facet. All products in search result are counted according to the list and/or sale price to produce bucket count.

Figure 11: Price navigation
 

yc-3.0.0-search-navigation-price.png

  For more information on configuration of search engine please contact us.

Attributes

When a customer navigates to a category YC scans the filtered navigation parameters set for that category and if the navigation by attributes is enabled then for all navigatable custom attributes defined by product type for this category either single value and/or ranged values buckets are calculated displaying facet names and counts. Whether to use single or range buckets depends on the configuration of the product type attribute. For ranged values range configuration has to be specified much in the same way as for price ranges. YC automatically determines which bucket types to use and correctly assigns products to them. The values are taken from unique value set for single value buckets or from range definitions for ranged buckets and counts are aggregated from the products values that can be found in a given category taking into account any additional search and navigation criteria applied. 

Note that for ranged values the bucket name by default is concatenation of lower and higher value, however named ranges are also possible if display name is defined for a range. For example for value range '0 to 3000' it may be better to define a named range 'up to 3000'. Each range can be named or unnamed independently of other ranges configuration. 

Figure 12, 13 and 14 depicts a typical single, ranged and named ranged attribute navigation facets respectively.

Figure 12: Single value attribute navigation
 

yc-3.0.0-search-navigation-attr-S.png

Figure 13: Ranged value attribute navigation
 

yc-3.0.0-search-navigation-attr-R.png

Figure 14: Named ranged value attribute navigation
 

yc-3.0.0-search-navigation-attr-RN.png

  For more information on configuration of search engine please contact us.

Content

YC is a powerful e-commerce tool however the expertise of the business lies with the professionals that run it, which is why content management can be used to put specific content and links in the right places on the website and emails to guide the customers towards the purchase. Because all YC search links are SEO friendly it is very easy to craft specific ones that display certain products and place them in strategic areas on the web site (e.g. menus or content includes). Refinements and products tagging allow to create product listings containing specific brand(s), or point to items on sale, or highlight some products that set the trend. These techniques also applicable to embedable links in newsletters and email communication with the customers.

Figure 15 depicts how adding a link into a content page on a microsite can display a list of specific products tagged with 'awesome' tag.

Figure 15: Search and navigation links in content
 

yc-3.0.0-search-navigation-content.png

  For more information on configuration of search engine please contact us.

Tags:
Created by Denis Pavlov on 2018/06/19 06:47
    
YesCart.org © 2009 - 2018
v.1.0.0