Optimizely <<product-name>> Self-Managed v4.4+ use Elasticsearch 5.5 and Nest version 5.
Elasticsearch, the default search engine for Optimizely <<product-name>>, 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.
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.
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.
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.
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.
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.
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.