React SDK

FieldDictionary

The FieldDictionary class is used to map fields in your data to the required fields to display in the UI.

In previous versions, this mapping was done via the Results component. Now it's provided via the fields property into the SearchProvider instead.

Note: This is not required with the @sajari/react-hooks package.

Usage

The values can be either:

  • A String - a simple mapping to a field in your schema.
  • A Function - the search result object is passed to the function and then a string is expected back with the value to be used.
  • An Array - An array in order of priority, the first match in the array will be used.
  • A string template - This can be used to inject a value into a template - e.g. url: "/products/${handle}"
Editable Example

Loading...

Defaults

By default, the fields for a website search collection are used.

FieldDefaultDescription
id'_id'Unique identifier for the record.
url'url'URL for the record, required for links in results.
title'title'The main title for the result.
subtitle'url'The subtitle. Often a brand, category, or the URL.
description'description'A description to display beneath the title and subtitle.
image 'image'An image, if applicable.
price'price'A price, if applicable.
originalPrice'originalPrice'An original price, if applicable. If the value is more than price (or it's index if price & originalPrice are both arrays) then the original price will be displayed (with strikethrough) and the current price highlighted in red. Note that originalPrice and salePrice should never be used at the same time.
salePrice'salePrice'An sale price, if applicable. If the value is less than price (or it's index if price & salePrice are both arrays) then the price will be displayed (with strikethrough) and the sale price highlighted in red. Note that salePrice and originalPrice should never be used at the same time.
rating'rating'A rating, if applicable.