Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Elasticsearch

📘

Note

Optimizely Configured Commerce Self-Managed v4.4+ use Elasticsearch 5.5 and Nest version 5.

Elasticsearch, the default search engine for Optimizely Configured Commerce, provides many robust search capabilities. These capabilities are configured through the Admin Console. Below is a list of search features supported with Elasticsearch:

Search customizations

Elasticsearch provides a range of search settings allowing for tuning of search results.

Stopwords

Located under Marketing > Stopwords, Stopwords are words eliminated from search results. Common stopwords like "And," "The," and "Or" are included in the base platform, but you also may choose to add industry-specific words, or adjectives like "cheap." Stopwords affect all websites.

Synonyms

Located under Marketing > Synonyms, use Synonyms to link words together, with either omni- or bi-directional single word connections. Synonyms affect all websites.

Search term redirects

Located under Marketing > Redirects, Search Term Redirects allow Administrators to specify search terms that, when searched, automatically redirect to a given internal or external URL. For example, redirect the search term "customer portal" to the website's sign-in page. Configure these redirects for all or specific websites.

Boost and bury

Administrators can boost or bury particular product searches, depending on business requirements, under the Marketing section.

Boost fields

Each entry on the list of Field Boosting options is mapped to one or multiple fields on the product or related entities. Fields can be included or excluded from the index to make them queryable on the storefront. Adjust their boost value to increase or decrease the rank of search results based on what fields the query matches. A value less than 1 decreases the score for the match, while a value greater than 1 increases the score.

Boost queries

Like Field Boosting, use Query Boosting to increase or decrease the rank of search results based on the type of query that found the match.

Boost products

Use Product Boosting to boost or bury products across all websites or categories where it appears. Enter a positive or negative value for a specific product. This value is added to the organic search score and raises or lowers that item based on where the new boosted value sorts numerically in the result set. Or, select a product to be Sponsored to make it show at the top of search results across all websites.

Boost categories

Use Category Boosting to boost or bury all products in a specific category. This boost value combines with existing product boost values.

Partial Match

[4.3, 4.4, 4.5] To prevent excluding relevant results for multi-term searches, set up Partial Match using Minimum Match Count and Minimum Match Percent settings. Determine whether a set number of words need to match, or if a percentage of words in the description need to match in order for the result to appear. For example, if you set the Minimum Match Count to three and Minimum Match Percent to 75% and a query has four terms, at least three of the four terms must match, so returned results must include either the least or second-least frequent terms. This tuning of the search criteria contributes number and search quality of the returned search results, but doesn't impact scoring.

[4.2] To prevent excluding relevant results for multi-term searches, set up Partial Match using Search_MinimumMatchCount and Search_MinimumMatchPercent Application Settings. Determine whether a set number of words need to match, or if a percentage of words in the description need to match in order for the result to appear. For example, if you set the Minimum Match Count to three and Minimum Match Percent to 75% and a query has four terms, at least three of the four terms must match, so returned results must include either the least or second-least frequent terms. This tuning of the search criteria contributes number and search quality of the returned search results, but doesn't impact scoring.

Misspellings

Configure Misspellings, often called "fuzzy search," using Fuzzy Search, Max Edits, and Prefix Length settings to determine how a word can be matched. Calibrate Misspellings to determine the number of identical characters needed to match a word. Also, determine how many errors may be present in a word before the word no longer appears in search results.

Last 10 Searched

Users within each browser session may be shown their last 10 searches before they start typing in the search bar if Setting Search History Limit > 0. The number of past searches may be customized per website.

Stemming

Elasticsearch has a robust stemming algorithm which provides a more forgiving set of query results. This means customers will have better success in finding what they are looking for without having to worry about entering the exact word forms in a search query.

📘

Note

Other than for a developer to disable it, Stemming is not configurable, and is applicable to the English language only.

Spelling corrections

Elasticsearch is able to auto correct search words or offers suggestions to the user. You can turn this feature on or off at the application level.

Autocomplete

The autocomplete menu allows users to see immediate results for Products, Categories, and Content as they are typing. They can quickly go to a product without ever going to the search results. This can be configured per Website.

Filtered search results

Search results can be filtered, narrowing the number of results shown. Keep adding search filters on top of previous ones to narrow the results.

Special characters

Enable the Search Non-AlphaNumeric Characters Setting to include non-alphanumeric characters in search results. This setting preserves non-alphanumeric characters and uses whitespace to split words. When disabled, non-alphanumeric characters are ignored. Additionally, the ERPNumber and Manufacturer Part Number fields each have an entry in the search index that removes special characters and does not replace them with a space regardless of the Search Non-AlphaNumeric Characters Setting. This is especially useful when working with hyphenated product numbers so that the hyphen is not converted to a space.