B2B Commerce offers several settings for tuning and improving search performance, which are part of our Elasticsearch implementation.
If On, attributes (attribute values grouped by attribute type) will be faceted 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.
Shows additional setting to Hide Facets Until Category Selected. If Yes, filters for attribute facets will not display in search results unless the user selects a category. Default value: No.
|Show Attributes on Search||
If Yes, attribute facets will appear for search results, not just category pages.
If true users will see their previous searches when they click the search box and nothing is in it.
Shows additional setting for Search History Limit. This is the number of previous searches that will display to the user when they click the search box and nothing is in it. Default value: 10.
|Search Non Alphanumeric Characters||
If On, non-alphanumeric characters will be preserved and whitespace will be used to split words. If Off, non-alphanumeric characters will be ignored.
|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 Attribute Facets||The maximum total number of attribute values that displays across all attribute types in the product list. By default, each attribute type displays five attribute values, which can be expanded to show the full list of attribute values. This setting does not affect that behavior.||1000|
|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.||Custom|
|Website Specific Attributes||If On, only attribute types assigned to categories in the website will be faceted which can impact performance. If Off, then faceting will be across all valid attribute values for each product regardless of site. Reindexing is required after changing the setting.||OFF||ON/OFF|
|Search Provider Name||Name of the search provider.||Elasticsearch|
|Search Indexer Name||Name of the search indexer.||Elasticsearch|
|Autocomplete||If On, users will see the autocomplete drop-down as they type in the search box.||ON||ON/OFF|
If Yes, category autocomplete results will show up as the user starts typing in the search box.
Shows additional setting for Return categories based on search score. Sorts results for category matches based on search score. If set to No, categories return based on sort order. Default value: Yes.
Shows additional setting for Category Limit. This is the maximum number of category autocomplete results that display. Maximum value: 10. Default value: 3.
|Show Website Pages||
If Yes, CMS pages will show up as autocomplete results as the user is typing in the search box.
Shows additional setting for Return website pages based on search score. Sorts results for website page matches based on search score. If set to No, pages return based on URL. Default value: Yes.
Shows additional setting for Website Pages Limit. This is the maximum number of CMS page autocomplete results that display. Maximum value: 10. Default value: 2.
|Show Products||If Yes, product autocomplete results will show up as the user starts typing in the search box.||YES||YES/NO|
|Product Limit||The maximum number of product autocomplete results that display. Maximum value: 10.||5|
If Yes, brand autocomplete results will show up as the user starts typing in the search box.
Shows additional setting for Brand Limit. The maximum number of brand autocomplete results that display. Maximum value: 10. Default value: 3.
Also shows additional setting for Show Product Lines. If Yes, product lines will be displayed in the search autocomplete flyout. Default value: Yes.
|Product Boosting||If On, specific products can be boosted to display higher or lower in search results. If No, product boosting values are ignored.||ON||ON/OFF|
|Enable Boosting by Purchase History||If Yes, products that have been purchased within a defined lookback period are boosted in search results. Order frequency (that is line item count) is analyzed and not quantity purchased. Shows additional settings outlined below.||NO||YES/NO|
|Lookback Months for Purchase History Boosting||Customer purchases within this number of months are used to identify products to boost based on purchase history. Increasing this value increases the time it takes to rebuild the search index.||6|
|Frequently Purchased Threshold||The number of times a customer must have purchased a product within the defined lookback months to consider it "Frequently Purchased" for boosting.||3|
|Boost Amount for Frequently Purchased Products||The multiplier applied to search result scoring for products that have been purchased more than the frequently purchased threshold. This value is included with the values for matches for all indexed fields and other boosting options to determine the Elasticsearch score and search rankings.||3|
|Boost Amount for Less Frequently Purchased Products||The multiplier applied to search result scoring for products purchased recently, but not enough to be considered frequently purchased. This value will be included along with the values for all matches for other indexed fields and other boosting options to determine the Elasticsearch score and search rankings.||1.5|
|Allow Filtering for Previously Purchased Products||If Yes, users can filter search results or category product lists to only see products that they have previously purchased, based on data available in the order history table. Default value: Yes||YES||YES/NO|
Fuzzy search (Misspellings)
|Fuzzy Search||If On, fuzzy search is enabled on the site.||ON||ON/OFF|
|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.||1||1, 2|
|Prefix Length||The number of initial characters that must match and will not be fuzzified. A value below 2 will result in performance issues.||2||1 - 10|
|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.||2||-10 - 10|
|Minimum Match Percent||The percentage of optional words in a search term that must match to return a result. Negative numbers indicate the percent of optional words that can be missing. This works in conjunction with Minimum Match Count.||75||-100 - 100|
|Stored Procedure for Product Search Index Rebuild||Defines what stored procedure is used to add extra searchable data to the product search index. Reindexing is required for changes to this setting to take effect.||BuildProductSearchIndex|
|Batch Size for Indexing||
The number of records to send to Elasticsearch in each request during indexing. Reindexing is required for changes to this setting to take effect.
You may get a failing job with a 413 error if this value is too large.
|Concurrent Requests for Indexing||The number of concurrent requests to make to Elasticsearch during indexing. Reindexing is required for changes to this setting to take effect.||8|
|Enable Ngram||If yes, product number and manufacturer item values will be be indexed using ngram indexing. This will index segments of the values to return relevant results for partial matches. For example, if your product numbers are formatted like ABC12345 and your customers normally search for only the numeric segments, 12345 will be indexed and a search for it will return a match for the product. Values will be indexed both with special characters included and with them stripped out.||NO||YES/NO|
|Minimum Ngram Length||The smallest number of characters of ngram segments to be indexed. This should match the smallest search term length your customers would search for matches on product numbers. For performance reasons and to prevent erroneous matches, the minimum value is 3.||5|
|Maximum Ngram Length||The largest number of characters of ngram segments to be indexed. This should match the largest character length of your product numbers. For performance reasons and to prevent erroneous matches, the minimum value is 3.||8|
|Enable Product Number Tiebreaker||Turn this feature on to sort product search returns by Product number to handle ties in the search term results when the relevance score is identical.||NO||YES/NO|
|Enable Force Merge||If yes, a force merge will be performed after building indexes. This will add some build time but provide consistent search results.||YES||YES/NO|
|Enable Search Suggestions||If On, AutoCorrect and DidYouMean will be configurable on the site.||ON||ON/OFF|
|Enable AutoCorrect||If Yes, enforces the autocorrect threshold and part number settings.||YES||YES/NO|
|AutoCorrect Threshold||The minimum confidence level at which searching on a mistyped phrase will automatically search on a corrected phrase. A value of 1 means the corrected phrase must have a closer match to the product data than the original phrase. Higher numbers require an even better match to apply the correction. The value must be higher than or equal to the DidYouMean Threshold.||2||0 - 5|
|Exclude Part Number from AutoCorrect||If Yes, an exact match on a part number will prevent Elasticsearch from autocorrecting the search query.||YES||YES/NO|
|Enable DidYouMean||If Yes, enforces the DidYouMean threshold setting.||YES||YES/NO|
|DidYouMean Threshold||The minimum confidence level at which searching on a mistyped phrase will present a suggested phrase correction, but search on the original phrase. A value of 1 means the corrected phrase must have a closer match to the product data than the original phrase. Higher numbers require an even better match to apply the correction. This must be lower than or equal to the AutoCorrect Threshold.||1||0 - 5|
|Max Edits||The maximum number of characters that can be changed on a word to be considered as a suggestion.||2||1, 2|
|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.||0.3||0 - 1, 1 - 5|
|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.||ON||ON/OFF|
|Sponsored Search Limit||The maximum number of sponsored products matching the search query that will be displayed at the top of search results. Maximum value of 5.||3||1 - 5|
The Elasticsearch search URL setting was removed and is now configured in the appSettings.config file of the project.