Keeping independent stores independent online

Making the Most of Your IndieCommerce Site: Search

The book search in IndieCommerce is a powerful tool, but with over 5,000,000 products
in the database, it can be difficult to choose the best results for each store. Although
the default settings configured by ABA are suitable for most stores, you can likely
improve the relevance of search results for your store by adjusting a few settings.
Here’s a guide to get you started.

  1. Log in to your site, and visit the “Search Weights” page.
    From the black administration bar at the top, go to Site configuration->Search weights
  2. Write down existing settings.
    You can always reset your site to these defaults if things get out of hand.
  3. Adjust settings to your liking.
    Search in IndieCommerce works by loading a set of results that match the user’s query
    (for example, a search for “Harry Potter” will return books that contain harry or potter)
    and then ranking those books according to a relevance score. With no boosts of any
    kind on, the search will just return the full result set (any book where ‘Harry’ or ‘Potter’
    appears in the title or author) in no particular order. This is probably not what you had
    in mind! So, a number of criteria are applied to identify those books that are most likely
    to be of interest to your store’s customers.

    • Author Name - how important is a match in the author’s name? Are you more
      interested in the book if the author is named Harry or Potter? Setting this to ‘Omit’ will
      not search the author field at all. The default boost is 1.0.
    • Title - how important is a match in the title of the book? Should the search result be
      considered more relevant if the book is called Harry Potter, than if the author’s name is
      Harry Potter? Setting this to ‘Omit’ will not search the title field at all. The default boost
      is 1.0.
    • Popularity - gives the book a boost based on sales history as reported to the Indie
      Bestsellers Lists. The more sales a book has seen from ABA member stores, the
      higher the boost it will receive. Default setting is 13.0.
    • Availability - gives a book a boost if its availability status is ‘Usually Ships in 1-5 Days’
      or ‘Coming Soon - Available for Pre-Order Now’. Default setting is 5.0.
    • Publication Date - gives newer books a boost. Be cautious with this one, as newer
      does not necessarily mean more relevant. In combination with other boosts this can be
      helpful, but setting it too high may result in poor relevance. Default setting is 3.0.
    • Regular Discount Code - gives a boost to books with a REG Discount Code from
      Ingram. Default setting is 13.0.
    • Ingram On Hand - boosts a book based on how many copies are currently on hand at
      Ingram’s warehouses. This field is new and has no default setting.
    • Ingram On Order - boosts a book based on how many copies are currently on order at
      Ingram. Very helpful for major upcoming new releases. This field is new and has no
      default setting.
    • Local Store Inventory - boosts books higher if they appear in the store inventory
      synced with your website (‘On Our Shelves Now’). An enormously helpful boost for
      identifying books of interest to your customers. We recommend setting this one as
      high as reasonable if you are syncing inventory with your website. Default is 21.0 if LSI
      module is enabled, ‘No Boost’ if not. (If you have just switched on LSI for your website,
      it may take up to 24 hours before changes manifest themselves here.)
    • Phrase Slop - boosts books based on an exact match of the user’s query, and based
      on how close together words appear. For example, setting this higher would make
      Harry Potter by J. K. Rowling rank higher than The Potters of Doodletown by Deborah
      Harry. Default is 35.0.
  4. Debug your search.
    We have added a new ‘Debug Search’ flag to this page which you can check on to expose each search result’s score. (Only Store Admin users will be able to see this.)
  5. Test, adjust, and test again.
    Getting the best results for one search is easy. Getting the best results for every search can be tricky. Open two browser tabs or windows: one with the search weights page, and another with a search on your site. Experiment with different boosts and see how the scores change. Try different searches to see how results vary with the same settings. Here are some test cases that can be tried:

    •  a popular book with a strong sales history (e.g., The Girl With the Dragon Tattoo)
    •  a popular book with a common title (e.g., The Help)
    •  a generic search (e.g., “cooking” or “pets”)
    •  a book with dozens of editions (e.g., Moby Dick)
    •  a book with strong sales at your store, but not likely anywhere else (e.g., Everything You Ever Wanted to Know About Alabama)
    •  a generic search specific to your store (e.g., Birmingham)

Remember, our servers try their best to be intelligent, but they have no means of choosing different settings for different searches. So trial-and-error is important to find the best-case settings for every situation.

Examples

defaults
author - 1.0
title - 1.0
popularity - 13.0
availability - 5.0
pubdate - 3.0
regular discount - 13.0
ingram on hand - no boost
ingram on order - no boost
local store inventory - no boost
phrase slop - 100.0
 
most relevant - best match for keywords entered
author - 5
title - 5
popularity - 0.3
availability - 1.0
pubdate - no boost
regular discount code - 1.0
ingram on hand - 5.0
ingram on order - 5.0
local store inventory - 35.0
phrase slop - 100.0
 
emphasize local store inventory
author - 1
title - 1
popularity - 0.3
availability - 1.0
pubdate - no boost
regular discount code - 1.0
ingram on hand - 1.0
ingram on order - 5.0
local store inventory - 100.0
phrase slop - 100.0
 
emphasize new titles
author - 1
title - 1
popularity - 0.2
availability - 1.0
pubdate - 1.0
regular discount code - 13.0
ingram on hand - 5.0
ingram on order - 35.0
local store inventory - 13.0
phrase slop - 35.0
 
bestsellers
author - 1
title - 1
popularity - 35.0
availability - 5.0
pubdate - 0.1
regular discount code - 1.0
ingram on hand - 5.0
ingram on order - 13.0
local store inventory - 21.0
phrase slop - 35.0