List of Available Configurations

Learn how to configure Unbxd Site Search using setSearch options to deliver personalized, fast, and filterable search experiences on your storefront.

The following table summarises the various properties that can be passed as search options when invoking the “setSearch” function in the “Unbxd” object.


Config NameData typeDescriptionSample values
siteNameStringSite name assigned from Unbxd (unique identifier for each customer/site)demo-com809841570123270
APIKeyStringUnique key assigned from Unbxd7689867nbh868u4j3b4u998
inputSelectorStringCSS selector of the search input box#search_mini_form input
searchButtonSelectorStringCSS selector of the search submit button/icon. Can be left empty if no button#search_mini_form button.searchicon
typeStringUsed to indicate whether a search or category pagesearch/category
searchQueryParamstringSearch query parameter name that contains the searched keywordq
getCategoryIdfunctionJavaScript function used to evaluate the category ID/path for the page. Only applicable when type is categorySee the provided JS function
deferInitRenderarray
spellCheckstringCSS selector for "Did you mean" section#did_you_mean
spellCheckTempstringHTML template for "Did you mean" section using Handlebars<span class="base">Did you mean <span class="bold">{{suggestion}}</span> ?</span>
searchQueryDisplaystringCSS selector for the search results message section#search_result_display
searchQueryDisplayTempstringHTML template for search result message using Handlebars<span class="base">Search results for {{query}} ({{start}}–{{end}} of {{numberOfProducts}} products)</span>
searchResultContainerstringCSS selector representing the product results container#results-container
searchResultSetTempstring/functionHTML template or JS function to render product tilesSee product rendering template
isAutoScrollbooleanEnables autoscroll paginationtrue
heightDiffToTriggerNextPagenumberPixels from the bottom before triggering the next page250
isClickNScrollbooleanEnables "Load More" click-based paginationtrue
clickNScrollElementSelectorstringCSS selector for load more button#load-more-results
isPaginationbooleanEnables traditional paginationtrue
setPaginationfunctionHook for pagination behavior (total pages, products per page, current page)function(totalPages, perPage, currentPage)
paginationContainerSelectorstringCSS selector for the pagination container.page-nav-section
paginationTempstringHTML template for the pagination sectionSee the pagination handlebars snippet
facetMultiSelectbooleanEnables multiselect facetstrue
facetContainerSelectorstringCSS selector for facet section#facets_container
facetCheckBoxSelectorstringCSS selector for checkbox input elements inside facets#facets_container .facet_value input[type=checkbox]
selectedFacetTempstringHTML template for displaying applied filters<ol>...{{#filters}}...{{/filters}}</ol>
selectedFacetContainerSelectorstringCSS selector for the selected facet section#applied-filter-section
facetMultilevelbooleanEnables multilevel facettrue
facetMultilevelNamestringField name of the multilevel facetCATEGORY
clearSelectedFacetsSelectorstringCSS selector for "Clear all filters" link#clear-all-filters
removeSelectedFacetSelectorstringCSS selector for individual reset links.unbxd-remove-item
loaderSelectorstringCSS selector for loading indicator#loader-icon
onFacetLoadfunctionCallback after facets are loadedfunction(obj) {...}
onIntialResultLoadfunctionCallback after the first-time binding of the result pagefunction(obj) {...}
onPageLoadfunctionCallback triggered on content refresh (sort/pagination/filter)function(obj) {...}
sanitizeQueryStringfunctionSanitizes the query stringfunction(q) { return q.trim(); }
getFacetStatsstringKey used in facet stats object for range facetsfacetstats
processFacetStatsfunctionFunction to process facet statsfunction(obj) {...}
setDefaultFiltersfunctionApply default filters like "In Stock"function() { this.addFilter("stock_availability","In Stock"); }
fieldsarrayList of product attribute names to fetch['title', 'price', 'brand', ...]
onNoResultfunctionCallback for no-result conditionfunction(obj) {...}
noEncodingbooleanEnable URL encoding and decodingtrue
customResetfunctionCalled during sort/view/reset triggersfunction() {...}
bannerSelectorstringCSS selector for merchandising banner#up-sell-banner-section
bannerTempstringHTML schema for banner<a href='{{landingUrl}}'><img src='{{imageUrl}}'/></a>
bannerCountnumberNumber of banners to show2
sortContainerSelectorstringCSS selector for the sort section#sort-section
sortOptionsarraySort options to display[{name: 'Popularity'}, {name: 'Low to High Price', ...}]
sortContainerTypestringSort by click or selectclick/select
sortContainerTempstringHTML schema for the sort section<option>{{name}}</option>
pageSizenumberNumber of products per page24
pageSizeContainerSelectorstringCSS selector for page size control#results-pagesize
pageSizeOptionsarrayList of page size options[{name: '48 items', value: '48'}, ...]
pageSizeContainerTypestringPage size control typeclick/select
pageSizeContainerTempstringHTML schema for page size control<option>{{name}}</option>
viewTypeContainerTempstringHTML schema for view type<a>{{value}}</a>
viewTypeContainerSelectorstringCSS selector for view type#results-pageview
viewTypesarrayList of view types['grid', 'list']
variantsbooleanEnable variantstrue
variantsCountnumberNumber of variants to display3
isSwatchesbooleanEnable swatchestrue
swatchesSelectorstringCSS selector for swatch elements.swatch-box
mappedFieldsobjectMappings of fields to product attributes{ imageUrl: "imageUrl", productUrl: "productUrl", ... }
retainbaseParambooleanRetain base params across requeststrue
baseParamsarrayArray of key-value-based parameters[{key: 'k1', value: 'v1'}]
requestHeadersobjectRequest headers for API call{Authorization: 'Bearer token'}