Elasticsearch settings

InsiteCommerce 4.4 upgraded to Elasticsearch 5.5 and Nest version 5. Any code from previous versions will require updates. Seeupgrading to 4.4.

Elasticsearch uses several settings for tuning and improving search performance. Below are a list of search settings commonly used in an Elasticsearch implementation.

Common Settings

Setting Name Description Type Default Possible Values
Search_Url Sets the Elasticsearch search url. Reindexing is required for changes to this setting to take effect. App http://localhost:9200 url
Search_LogQueries Log all queries sent to the search engine App False Boolean
ProductSearchProvider   App Elasticsearch  
Search_PriceSortMaximum Maximum number of items that can be sorted by price. App 100  
Search_MaximumFacets Sets the maximum number of search facets which can be displayed. App 1000  
Search_FilterOnSearch True to do filtering on searches, not just category queries.   False True/False
Search_EnablePriceFilters If true and the current pricing model supports it, search will include price filters.   True True/False
Search_EnableAttributeFilters     True True/False

Partial Match

Setting Name Description Type Default Possible Values
Search_MinimumMatchCount Minimum number of words which all must match App 2 -10 - 10 (integer)
Search_MinimumMatchPercent Percentage of all words which must match (rounded down) App 75 -100 - 100 (integer)

Search Suggestions

Internal Name Description Type Default Possible Values
Search_Suggestions_Enabled If true, spelling suggestions will be retrieved with search and displayed to the user if found App True True/False
Search_Suggestions_MaxErrors Enforces the maximum number of errors that can be corrected when generating suggestions. If a decimal between 0 and 1 is used it will use the fraction as a percentage of words that can be corrected. Whole numbers greater than 1 can also be used to specify the exact number of words that can be corrected. App 0.3 0 - 1 (decimal), 1 - 5 (integer)
Search_Suggestions_MaxEdits Number of characters that can be changed on a word to generate a new suggestion. App 2 1 , 2
Search_DidYouMean_Threshold Used as the confidence level when retrieving suggestions. A value of 1 means a better suggestion than the original phrase. This should be lower than or equal to the Search_AutoCorrect_Threshold. App 1 0 - 5 (decimal)
Search_AutoCorrect_Threshold Used as the confidence level when retrieving suggestions. Value of 1 means a better suggestion than the original phrase. This should be higher than or equal to the Search_DidYouMean_Thresold App 2 0 - 5 (decimal)

Misspellings/Fuzzy Search

Internal Name Description Type Default Possible Values
Search_FuzzySearch_MaxEdits Number of errors a word can have and still match. App 1 1, 2
Search_FuzzySearch_PrefixLength Number of characters at start words which must match App 2 1 - 10 (integer)
Search_FuzzySearch_Enabled Fuzzy search is enabled or not App True True/False

Stopwords

Internal Name Description Type Default Possible Values
Search_StopwordMode None would pass none for the stopwords, default would pass english and custom would pass the list from SQL. App Custom None | Default | Custom

Sponsored Search

Internal Name Description Type Default Possible Values
Search_SponsoredSearch_Enabled If true spelling suggestions will be retrieved with search and displayed to the user if found. App True True/False
Search_SponsoredSearch_Limit The maximum number of sponsored results to display in search results. Valid settings are 1 - 5. App 3 1 - 5

Product Boost

Setting Name Description Type Default Possible Values
Search_EnableProductBoost Enable product level boosting. App True True/False

Autocomplete

Setting Name Description Type Default Possible Values
Search_Autocomplete_Enabled If true users will see the autocomplete drop-down as they type in the search box Website True True/False
Search_Autocomplete_Category_Limit The maximum number of category autocomplete results that display. A number between 1 and 10. Website 10 Between 1-10
Search_Autocomplete_Content_Enabled If true, content autocomplete results will show up as the user starts typing in the search box. Website True True/False
Search_Autocomplete_Content_Limit The maximum number of content autocomplete results that display. A number between 1 and 10. Website 10 Between 1-10
Search_Autocomplete_Product_Enabled If true, product autocomplete results will show up as the user starts typing in the search box. Website True True/False
Search_Autocomplete_Product_Limit If true, product autocomplete results will show up as the user starts typing in the search box. Website 10 Between 1-10

Search History

Setting Name Description Type Default Possible Values
Search_History_Enabled If true users will see their previous searches when they click the search box and nothing is in it. Website True True/False
Search_History_Limit The number of previous searches that will display to the user when they click the search box and nothing is in it. Website 10 Integer
Autocomplete
Setting Name Description
Autocomplete If On, users will see the autocomplete drop-down as they type in the search box.
Category Limit The maximum number of category autocomplete results that display. Maximum value: 10
Product Limit The maximum number of product autocomplete results that display. Maximum value: 10
Show Categories If On, category autocomplete results will show up as the user starts typing in the search box.
Show Products If On, product autocomplete results will show up as the user starts typing in the search box.
Show Website Pages If On, CMS pages will show up as autocomplete results as the user is typing in the search box.
Website Pages Limit The maximum number of CMS page autocomplete results that display. Maximum value: 10
Fuzzy Search
Setting Name Description
Fuzzy Search If On, fuzzy search is enabled on the site.
Max Edits The maximum number of character edits that can be made to a search string to return a match. This can be either a character swapped for a different character or a character being added or removed.
Prefix Length The number of initial characters that must match and will not be fuzzified. A value below 2 will result in performance issues.
General Settings
Setting Name Description
Attribute Filters If On, attributes (attribute values grouped by attribute type) will be facted on the left nav of the product list to be used as filters. This does not control category or price faceting. Reindexing is required for changes to this setting to take effect.
Elasticsearch URL

The Elasticsearch search URL.

This setting has been removed and is now configured in the appSettings.config file of the project.

Log Product Search Queries If Yes, product search queries will be included in the Application Logs. This should only be used by developers and will result in a lot of data if enabled.
Maximum Facets The maximum number of attribute values or category check boxes that will display for each section in the left nav of the product list.
Price Sort Maximum If less than this number of products are returned in search results, users will be able to sort by price. If more than this number are returned price sorting will not be presented in the product list sort drop-down.
Product Boosting If On, specific products can be boosted to display higher or lower in search results. If No, product boosting values are ignored.
Search History If On, users will see their previous searches when they click the search box and nothing is in it.
Search History Limit The number of previous searches that will display to the user when they click the search box and nothing is in it.
Show Attributes On Search If Yes, attribute facets will appear for search results, not just category pages.
Stopword Mode Determines what list of common words to exclude from search queries. If Custom, the list from Search - Stopwords in the Admin Console is used. If default, the internal list of English Lucene stopwords is used. If None, no stop words will be used. Reindexing is required for changes to this setting to take effect.
Website Specific Attributes If On, website and category attribute faceting is enabled.
Partial Matching
Setting Name Description
Minimum Match Count The minimum number of words that must match to return a result. Negative numbers indicate the number of optional words. Works in conjunction with Minimum Match Percent. Default is 2.
Minimum Match Percent The percentage of all words that must match to return a result (rounded down). Negative numbers indicate the percent of optional words that can be missing. This works in conjunction with Minimum Match Count. Deafult is 75.
Product Search Index
Setting Name Description
Batch Size for Product Indexing The number of products to send to Elasticsearch in each request during indexing. Reindexing is required for changes to this setting to take effect.
Concurrent Requests for Product Indexing The number of concurrent requests to make to Elasticsearch during product indexing. Reindexing is required for changes to this setting to take effect.
Search Suggestions
Setting Name Description
AutoCorrect Threshold Autocorrect is used to automatically return corrected results for mistyped search queries and this value is the threshold to determine what will be automatically fixed. The lower the number the more errors will be tolerated without autocorrect being used. This should be higher than or equal to the DidYouMean Threshold.
DidYouMean Threshold DidYouMean is used to suggest alternate terms for mistyped search queries and this value is the threshold at which a suggestion is made. With 1 meaning a better suggestion than the original phrase. This should be lower than or equal to the AutoCorrect Threshold
Enable Search Suggestions If On, autocorrect and DidYouMean will be active on the site.
Max Edits The maximum number of characters that can be changed on a word to be considered as a suggestion.
Max Errors The maximum number of errors that can be corrected when generating suggestions. If a decimal between 0 and 1 this indicates a percentage of words that can be corrected. Whole numbers greater than or equal to 1 can be used to specify the exact number of words that can be corrected. Numbers higher than 2 may have a negative impact on performance.
Sponsored Search
Setting Name Description
Sponsored Search If On, specific products can be flagged as sponsored and boosted to the top of search results. Sponsored flag is set for individual products in the product boosting screen.
Sponsored Search Limit The maximum number of sponsored products matching the search query that will be displayed at the top of search results.

Hide

{ "BuildProductSearchIndexStoredProcedure", new DefaultEntry 
{ Value = "BuildProductSearchIndex", 
			Description = string.Empty } },
		{ "Search_WebsiteSpecificAttributes", new DefaultEntry 
{ Value = "false", Description = "Allows different attributes on 
products per website, but uses more system RAM." } },
			Search_IndexReloadInterval
			Search_UseRamDisk
		Search_WebsiteSpecificAttributes