[{"data":1,"prerenderedAt":1141},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fdocs\u002Fsearch\u002Fprofiles":319,"docs-\u002Fdocs\u002Fsearch\u002Fprofiles-surround":1138},[4],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Docs","\u002Fdocs","docs",[9,35,60,78,120,186,229,240,264,289],{"title":10,"description":11,"icon":12,"path":13,"stem":14,"children":15,"page":34},"Getting started","What Zaproo Search is, a quickstart, and wiring search into a storefront.","i-lucide-rocket","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[16,22,28],{"title":17,"path":18,"stem":19,"description":20,"icon":21},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002F1.getting-started\u002F1.introduction","What Zaproo Search is, the five things you work with, and how a product catalog becomes a search box on your shop.","i-lucide-book-open-text",{"title":23,"path":24,"stem":25,"description":26,"icon":27},"Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F1.getting-started\u002F2.quickstart","From a new account to a first search request in six steps, with curl or from your AI agent.","i-lucide-zap",{"title":29,"path":30,"stem":31,"description":32,"icon":33},"Integrate a storefront","\u002Fdocs\u002Fgetting-started\u002Fstorefront","docs\u002F1.getting-started\u002F3.storefront","Build a search results page with facets and an autocomplete box on top of the search and suggest routes.","i-lucide-store",false,{"title":36,"description":37,"icon":38,"path":39,"stem":40,"children":41,"page":34},"Account and team","Sign-in, sessions, organizations, members, roles and projects.","i-lucide-users","\u002Fdocs\u002Faccount","docs\u002F2.account",[42,48,54],{"title":43,"path":44,"stem":45,"description":46,"icon":47},"Account and sign-in","\u002Fdocs\u002Faccount\u002Fsign-in","docs\u002F2.account\u002F1.sign-in","Create an account, verify your email, stay signed in, manage signed-in devices and change or reset your password.","i-lucide-log-in",{"title":49,"path":50,"stem":51,"description":52,"icon":53},"Organizations, members and roles","\u002Fdocs\u002Faccount\u002Forganizations","docs\u002F2.account\u002F2.organizations","What an organization holds, how to add members, and what owners, admins and members may do.","i-lucide-building-2",{"title":55,"path":56,"stem":57,"description":58,"icon":59},"Projects","\u002Fdocs\u002Faccount\u002Fprojects","docs\u002F2.account\u002F3.projects","Group the indices and API keys of one shop or one environment, and keep staging apart from production.","i-lucide-folder-kanban",{"title":61,"description":62,"icon":63,"path":64,"stem":65,"children":66,"page":34},"API keys and security","Secret and public keys, scopes, allowed origins, rate limits and errors.","i-lucide-key-round","\u002Fdocs\u002Fkeys","docs\u002F3.keys",[67,72],{"title":68,"path":69,"stem":70,"description":71,"icon":63},"API keys","\u002Fdocs\u002Fkeys\u002Fapi-keys","docs\u002F3.keys\u002F1.api-keys","Secret and public keys, full and read access, index scope, allowed origins, expiry, and how to revoke a key.",{"title":73,"path":74,"stem":75,"description":76,"icon":77},"Rate limits and errors","\u002Fdocs\u002Fkeys\u002Frate-limits","docs\u002F3.keys\u002F2.rate-limits","How many requests each route accepts per minute, what a 429 looks like, the error format and every error code with its HTTP status.","i-lucide-gauge",{"title":79,"description":80,"icon":81,"path":82,"stem":83,"children":84,"page":34},"Indexing","Indices, languages, mappings, documents, tasks, full catalog sync and reindexing.","i-lucide-database","\u002Fdocs\u002Findexing","docs\u002F4.indexing",[85,90,96,102,108,114],{"title":86,"path":87,"stem":88,"description":89,"icon":81},"Indices and languages","\u002Fdocs\u002Findexing\u002Findices","docs\u002F4.indexing\u002F1.indices","Create an index, pick its language, read its status, and change the language later with a reindex.",{"title":91,"path":92,"stem":93,"description":94,"icon":95},"Mapping and fields","\u002Fdocs\u002Findexing\u002Fmapping","docs\u002F4.indexing\u002F2.mapping","Field types, the five flags that decide what a field is used for, text analysis options, unmapped fields, and which changes need a reindex.","i-lucide-table-properties",{"title":97,"path":98,"stem":99,"description":100,"icon":101},"Documents and tasks","\u002Fdocs\u002Findexing\u002Fdocuments","docs\u002F4.indexing\u002F3.documents","Upload and delete documents in batches, follow each write as a task, retry safely with Idempotency-Key, and browse what the index holds.","i-lucide-file-json",{"title":103,"path":104,"stem":105,"description":106,"icon":107},"Full catalog sync","\u002Fdocs\u002Findexing\u002Ffull-sync","docs\u002F4.indexing\u002F4.full-sync","Replace the whole catalog with a replace session, so products missing from your export disappear from search, without downtime.","i-lucide-refresh-cw",{"title":109,"path":110,"stem":111,"description":112,"icon":113},"Reindex and versions","\u002Fdocs\u002Findexing\u002Fversions","docs\u002F4.indexing\u002F5.versions","Rebuild an index with its saved mapping and swap it in without downtime, follow or cancel the rebuild, and read activeVersion and buildingVersion.","i-lucide-git-compare-arrows",{"title":115,"path":116,"stem":117,"description":118,"icon":119},"Data source","\u002Fdocs\u002Findexing\u002Fdata-source","docs\u002F4.indexing\u002F6.data-source","Let Zaproo download your product feed on a schedule, map it to documents, write only what changed and delete what left the feed.","i-lucide-rss",{"title":121,"description":122,"icon":123,"path":124,"stem":125,"children":126,"page":34},"Integrations","Connect your shop. Magento 2, product feeds and the API work today; more platforms are coming.","i-lucide-plug-zap","\u002Fdocs\u002Fintegrations","docs\u002F4.integrations",[127,133,139,144,150,156,161,166,171,176,181],{"title":128,"path":129,"stem":130,"description":131,"icon":132},"Integrations overview","\u002Fdocs\u002Fintegrations\u002Foverview","docs\u002F4.integrations\u002F01.overview","The ways to get your catalog into Zaproo Search, which one to pick, and how an integration shows up in the cabinet.","i-lucide-layout-grid",{"title":134,"path":135,"stem":136,"description":137,"icon":138},"Magento 2","\u002Fdocs\u002Fintegrations\u002Fmagento","docs\u002F4.integrations\u002F02.magento","Install the Zaproo Search module for Magento 2, connect each store view to its own index, and keep the catalog in sync.","i-lucide-shopping-cart",{"title":140,"path":141,"stem":142,"description":143,"icon":119},"Product feed","\u002Fdocs\u002Fintegrations\u002Fproduct-feed","docs\u002F4.integrations\u002F03.product-feed","Connect any shop that can publish its catalog as a feed. Zaproo downloads it on a schedule and writes only what changed.",{"title":145,"path":146,"stem":147,"description":148,"icon":149},"REST API and MCP","\u002Fdocs\u002Fintegrations\u002Frest-api-and-mcp","docs\u002F4.integrations\u002F04.rest-api-and-mcp","Send documents from your own code with the REST API, or let an AI agent manage the index over MCP.","i-lucide-code",{"title":151,"path":152,"stem":153,"description":154,"icon":155},"Shopify","\u002Fdocs\u002Fintegrations\u002Fshopify","docs\u002F4.integrations\u002F05.shopify","A Zaproo Search integration for Shopify is coming soon. Until then, connect the shop through a product feed or the REST API.","i-lucide-shopping-bag",{"title":157,"path":158,"stem":159,"description":160,"icon":155},"WooCommerce","\u002Fdocs\u002Fintegrations\u002Fwoocommerce","docs\u002F4.integrations\u002F06.woocommerce","A Zaproo Search integration for WooCommerce is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":162,"path":163,"stem":164,"description":165,"icon":155},"Shopware","\u002Fdocs\u002Fintegrations\u002Fshopware","docs\u002F4.integrations\u002F07.shopware","A Zaproo Search integration for Shopware is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":167,"path":168,"stem":169,"description":170,"icon":155},"BigCommerce","\u002Fdocs\u002Fintegrations\u002Fbigcommerce","docs\u002F4.integrations\u002F08.bigcommerce","A Zaproo Search integration for BigCommerce is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":172,"path":173,"stem":174,"description":175,"icon":155},"PrestaShop","\u002Fdocs\u002Fintegrations\u002Fprestashop","docs\u002F4.integrations\u002F09.prestashop","A Zaproo Search integration for PrestaShop is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":177,"path":178,"stem":179,"description":180,"icon":155},"commercetools","\u002Fdocs\u002Fintegrations\u002Fcommercetools","docs\u002F4.integrations\u002F10.commercetools","A Zaproo Search integration for commercetools is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":182,"path":183,"stem":184,"description":185,"icon":155},"Salesforce Commerce Cloud","\u002Fdocs\u002Fintegrations\u002Fsalesforce-commerce-cloud","docs\u002F4.integrations\u002F11.salesforce-commerce-cloud","A Zaproo Search integration for Salesforce Commerce Cloud is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":187,"description":188,"icon":189,"path":190,"stem":191,"children":192,"page":34},"Search and relevance","The search API, search profiles, facets, synonyms and ranking rules.","i-lucide-search","\u002Fdocs\u002Fsearch","docs\u002F5.search",[193,199,205,211,217,223],{"title":194,"path":195,"stem":196,"description":197,"icon":198},"Search API","\u002Fdocs\u002Fsearch\u002Fsearch-api","docs\u002F5.search\u002F1.search-api","The search request and response, every filter form, sorting, paging, highlighting and the inline profile for previews.","i-lucide-search-code",{"title":200,"path":201,"stem":202,"description":203,"icon":204},"Search profiles","\u002Fdocs\u002Fsearch\u002Fprofiles","docs\u002F5.search\u002F2.profiles","Every setting of a search profile, what it does to results, and the mistakes to avoid.","i-lucide-sliders-horizontal",{"title":206,"path":207,"stem":208,"description":209,"icon":210},"Facets","\u002Fdocs\u002Fsearch\u002Ffacets","docs\u002F5.search\u002F3.facets","The filter panels next to the results, the four facet types, index facets and profile facets, and how a shopper's clicks change the counts.","i-lucide-list-filter",{"title":212,"path":213,"stem":214,"description":215,"icon":216},"Synonyms","\u002Fdocs\u002Fsearch\u002Fsynonyms","docs\u002F5.search\u002F4.synonyms","Let different words find the same products, with equivalent and one-way rules, bulk import and export in the Solr format, and no reindex.","i-lucide-arrow-left-right",{"title":218,"path":219,"stem":220,"description":221,"icon":222},"Ranking rules","\u002Fdocs\u002Fsearch\u002Frules","docs\u002F5.search\u002F5.rules","Change the results for chosen searches. Put products first, hide them, lift or lower a brand, narrow the results or weigh fields differently, on a schedule and per profile.","i-lucide-list-ordered",{"title":224,"path":225,"stem":226,"description":227,"icon":228},"Language groups","\u002Fdocs\u002Fsearch\u002Flanguage-groups","docs\u002F5.search\u002F6.language-groups","Let each store of a multilingual shop find its products by the other stores' text, so an English search on the Estonian store still finds the Estonian product.","i-lucide-languages",{"title":230,"description":231,"icon":232,"path":233,"stem":234,"children":235,"page":34},"Autocomplete","Query suggestions as the shopper types.","i-lucide-text-cursor-input","\u002Fdocs\u002Fautocomplete","docs\u002F6.autocomplete",[236],{"title":230,"path":237,"stem":238,"description":239,"icon":232},"\u002Fdocs\u002Fautocomplete\u002Fsuggestions","docs\u002F6.autocomplete\u002F1.suggestions","Query suggestions as the shopper types, built every hour from your own searches, field values and custom entries.",{"title":241,"description":242,"icon":243,"path":244,"stem":245,"children":246,"page":34},"Analytics","Searches, zero-result queries and latency.","i-lucide-chart-line","\u002Fdocs\u002Fanalytics","docs\u002F7.analytics",[247,252,258],{"title":248,"path":249,"stem":250,"description":251,"icon":243},"Search analytics","\u002Fdocs\u002Fanalytics\u002Fsearch-analytics","docs\u002F7.analytics\u002F1.search-analytics","What the analytics page counts, which traffic it leaves out, how the headline numbers are defined, how comparisons and retention work, and how to get the weekly digest.",{"title":253,"path":254,"stem":255,"description":256,"icon":257},"Reports","\u002Fdocs\u002Fanalytics\u002Freports","docs\u002F7.analytics\u002F2.reports","Every analytics report with the definition of each column, the opportunities list and its fix buttons, the per-query view with before and after, and the CSV download.","i-lucide-table",{"title":259,"path":260,"stem":261,"description":262,"icon":263},"Event tracking","\u002Fdocs\u002Fanalytics\u002Fevent-tracking","docs\u002F7.analytics\u002F3.event-tracking","Send clicks, add-to-cart, purchases and suggestion clicks from your storefront, tie them to the search with searchId, and a copy-paste script that does it.","i-lucide-mouse-pointer-click",{"title":265,"description":266,"icon":267,"path":268,"stem":269,"children":270,"page":34},"AI agents (MCP)","Connect Claude Code or any MCP client and manage search from an agent.","i-lucide-bot","\u002Fdocs\u002Fmcp","docs\u002F8.mcp",[271,277,283],{"title":272,"path":273,"stem":274,"description":275,"icon":276},"MCP setup","\u002Fdocs\u002Fmcp\u002Fsetup","docs\u002F8.mcp\u002F1.setup","Connect Claude Code or any MCP client to Zaproo Search and manage indices, documents, profiles, synonyms and ranking rules from your agent.","i-lucide-plug",{"title":278,"path":279,"stem":280,"description":281,"icon":282},"MCP tools","\u002Fdocs\u002Fmcp\u002Ftools","docs\u002F8.mcp\u002F2.tools","Every tool the Zaproo Search MCP server offers, what an agent can do with each group, and prompts to start from.","i-lucide-wrench",{"title":284,"path":285,"stem":286,"description":287,"icon":288},"Resources and prompts","\u002Fdocs\u002Fmcp\u002Fresources","docs\u002F8.mcp\u002F3.resources","The index resources an MCP client can read, the tune_relevance prompt, and the errors the MCP server answers.","i-lucide-library",{"title":290,"description":291,"icon":292,"path":293,"stem":294,"children":295,"page":34},"Reference","Every REST route, every limit, plans and billing, and status.","i-lucide-book-open","\u002Fdocs\u002Freference","docs\u002F9.reference",[296,302,307,313],{"title":297,"path":298,"stem":299,"description":300,"icon":301},"REST API","\u002Fdocs\u002Freference\u002Frest-api","docs\u002F9.reference\u002F1.rest-api","The routes of the Zaproo Search REST API, grouped by area, with who may call it.","i-lucide-list-tree",{"title":303,"path":304,"stem":305,"description":306,"icon":77},"Limits","\u002Fdocs\u002Freference\u002Flimits","docs\u002F9.reference\u002F2.limits","Every size limit, cap and default of the Zaproo Search API in one place, with what happens when you reach it.",{"title":308,"path":309,"stem":310,"description":311,"icon":312},"Plans and billing","\u002Fdocs\u002Freference\u002Fbilling","docs\u002F9.reference\u002F3.billing","The plans, how usage is measured, what happens near a quota, and how plan changes and invoices work.","i-lucide-credit-card",{"title":314,"path":315,"stem":316,"description":317,"icon":318},"Status","\u002Fdocs\u002Freference\u002Fstatus","docs\u002F9.reference\u002F4.status","The status page and the status route, what each service covers and how to use them in your own monitoring.","i-lucide-activity",{"id":320,"title":200,"body":321,"description":203,"extension":1133,"meta":1134,"navigation":1135,"path":201,"seo":1136,"stem":202,"__hash__":1137},"docs\u002Fdocs\u002F5.search\u002F2.profiles.md",{"type":322,"value":323,"toc":1095},"minimark",[324,329,333,341,353,360,366,370,374,377,386,390,421,425,483,524,543,547,601,622,654,681,684,798,814,818,884,904,930,934,981,997,1027,1031,1050,1069],[325,326,328],"h2",{"id":327},"what-a-profile-is","What a profile is",[330,331,332],"p",{},"A search profile is a saved recipe for one search box: which fields a query looks in and how much each counts, how forgiving it is about typos, which facets and sort orders it offers, which filters always apply and what each hit returns. An index can hold up to 50 profiles, for example one for the storefront search page and one for a B2B catalog.",[330,334,335],{},[336,337],"img",{"alt":338,"src":339,"title":340},"The profile editor for Storefront with collapsible blocks for basics, search fields, typo tolerance, facets and sorting, next to a live preview comparing saved and draft results for bubble wrap","\u002Fdocs\u002Fscreenshots\u002Fprofile-editor.png","The profile editor with a live preview of the saved and the draft settings",[330,342,343,344,348,349,352],{},"Each profile has a ",[345,346,347],"code",{},"profileKey",", 16 URL-safe characters that never change. The storefront calls ",[345,350,351],{},"POST \u002Fv1\u002Fsearch\u002F\u003CprofileKey>"," and sends only the query, filters, sort and page; everything else comes from the profile. A saved change applies to the very next search.",[330,354,355,356,359],{},"In the cabinet, open an index and then ",[357,358,200],"strong",{},". The editor is split into the blocks below and shows a live preview of the draft next to the saved profile. The same profile is plain JSON in the API and in the editor's JSON view.",[361,362],"api-route",{"auth":363,"method":364,"path":365},"Project member or any secret key","GET","\u002Fv1\u002Fprojects\u002F:projectId\u002Findices\u002F:indexId\u002Fprofiles",[361,367],{"auth":368,"method":369,"path":365},"Project admin or a full-access secret key","POST",[361,371],{"auth":368,"method":372,"path":373},"PUT","\u002Fv1\u002Fprojects\u002F:projectId\u002Findices\u002F:indexId\u002Fprofiles\u002F:profileId",[361,375],{"auth":368,"method":376,"path":373},"DELETE",[330,378,379,381,382,385],{},[345,380,372],{}," replaces the whole profile, so send every setting you want to keep. A save checks the profile against the index mapping: a field must exist and carry the flag its use needs (searchable, facetable, filterable, sortable or returnable), or the API answers ",[345,383,384],{},"400 PROFILE_INVALID"," with one issue per field.",[325,387,389],{"id":388},"basics","Basics",[391,392,396,400,403],"setting",{"name":393,"type":394,"values":395},"name","string","1 to 100 characters",[397,398,399],"h3",{"id":393},"Name",[330,401,402],{},"The name you and your team know the profile by. It shows in the cabinet; shoppers never see it.",[404,405,407],"template",{"v-slot:tips":406},"",[408,409,410,414],"ul",{},[411,412,413],"li",{},"Name a profile after where it is used (\"Storefront search\", \"Mobile app\"), not after its settings. Settings change, the placement does not.",[411,415,416,417,420],{},"Names are unique within an index. Saving a second profile with the same name answers ",[345,418,419],{},"409 PROFILE_NAME_TAKEN",".",[325,422,424],{"id":423},"search-fields","Search fields",[391,426,430,434,437,467],{"name":427,"type":428,"values":429},"queryFields","field → weight","weights above 0, up to 100; at least one field",[397,431,433],{"id":432},"fields-and-weights","Fields and weights",[330,435,436],{},"The fields a query looks in, each with a weight. A match in a field with weight 3 counts three times as much as a match in a field with weight 1. Only searchable fields can be listed.",[404,438,439],{"v-slot:tips":406},[408,440,441,444,447,450],{},[411,442,443],{},"Give the product title the highest weight and keep long descriptions low. A word in a description says much less about a product than the same word in its title.",[411,445,446],{},"Add brand and SKU fields with a modest weight so \"samsung\" or a part number finds the right products.",[411,448,449],{},"A field left out here is not searched at all, even when it is searchable in the mapping.",[411,451,452,453,458,459,462,463,466],{},"In a ",[454,455,457],"a",{"href":456},"\u002Fdocs\u002Fsearch\u002Flanguage-groups#search-the-borrowed-text","language group",", the other stores' text has its own list under the store's fields, headed ",[357,460,461],{},"From other stores in the language group",", with fields like ",[357,464,465],{},"title · from English (US)",". Keep their weights below the store's own fields.",[404,468,469],{"v-slot:related":406},[408,470,471,477],{},[411,472,473],{},[454,474,476],{"href":475},"#match","Match",[411,478,479],{},[454,480,482],{"href":481},"#phrase-boost","Phrase boost",[391,484,488,490,505],{"name":485,"type":486,"default":487},"match","all | any","all",[397,489,476],{"id":485},[330,491,492,494,495,498,499,501,502,504],{},[345,493,487],{}," returns a product only when every word of the query matches; ",[345,496,497],{},"any"," is happy with one word. ",[345,500,487],{}," gives precise results for short queries; ",[345,503,497],{}," returns more products and ranks those that match more words higher.",[404,506,507],{"v-slot:tips":406},[408,508,509,518],{},[411,510,511,512,514,515,517],{},"With ",[345,513,487],{},", every word has to be found in the same field. \"samsung oled\" matches a title that holds both words, but not a product whose brand is Samsung and whose title only says OLED. Put the brand into the title field, or use ",[345,516,497],{}," if your catalog splits words across fields.",[411,519,520,521,523],{},"Watch the zero-result rate in Analytics after switching to ",[345,522,487],{},". Long natural-language queries are the first to stop matching.",[391,525,530,533,536],{"name":526,"type":527,"default":528,"values":529},"phraseBoost","number","2","0 to 100; 0 turns it off",[397,531,482],{"id":532},"phrase-boost",[330,534,535],{},"An extra boost for products where the query's words appear next to each other, in order. It only lifts products that already match; it never adds new ones.",[404,537,538],{"v-slot:tips":406},[408,539,540],{},[411,541,542],{},"The default of 2 helps queries like \"coffee table\" rank tables above coffee. Raise it when multi-word product names matter, set it to 0 when word order means nothing in your catalog.",[325,544,546],{"id":545},"typo-tolerance","Typo tolerance",[391,548,552,556,566,585],{"name":549,"type":550,"default":551},"typo.fuzziness","AUTO | 0 | 1 | 2","AUTO",[397,553,555],{"id":554},"typos-allowed-per-word","Typos allowed per word",[330,557,558,559,561,562,565],{},"How many letters may differ between a query word and a word in a product. ",[345,560,551],{}," allows none for words of one or two letters, one typo for words of three to five letters and two for longer words. ",[345,563,564],{},"0"," turns typo tolerance off.",[404,567,568],{"v-slot:tips":406},[408,569,570,579],{},[411,571,572,573,575,576,578],{},"Keep ",[345,574,551],{}," for most catalogs. A fixed ",[345,577,528],{}," lets short words match far too much: two changed letters turn a three-letter word into almost any other.",[411,580,581,582,584],{},"Use ",[345,583,564],{}," for catalogs searched mostly by codes, where a single changed character is a different product.",[404,586,587],{"v-slot:related":406},[408,588,589,595],{},[411,590,591],{},[454,592,594],{"href":593},"#exact-letters-at-the-start","Exact letters at the start",[411,596,597],{},[454,598,600],{"href":599},"#did-you-mean","Did you mean",[391,602,606,609,612],{"name":603,"type":527,"default":604,"values":605},"typo.prefixLength","1","0 to 10",[397,607,594],{"id":608},"exact-letters-at-the-start",[330,610,611],{},"How many letters at the start of a word must be typed exactly before typos are allowed. With 1, \"lamp\" can match \"lump\" but not \"damp\".",[404,613,614],{"v-slot:tips":406},[408,615,616,619],{},[411,617,618],{},"People rarely mistype the first letter, so 1 cuts false matches at almost no cost. 2 or 3 makes search faster on very large catalogs and stricter still.",[411,620,621],{},"0 lets the first letter differ too, which mostly adds noise.",[391,623,627,630,637,644],{"name":624,"type":625,"default":626},"didYouMean.enabled","boolean","true",[397,628,600],{"id":629},"did-you-mean",[330,631,632,633,636],{},"When a search finds nothing, the engine looks for a corrected spelling of the query among the words in your products. The response returns it as ",[345,634,635],{},"correctedQuery",", so the storefront can show \"Did you mean …?\".",[404,638,639],{"v-slot:tips":406},[408,640,641],{},[411,642,643],{},"It only runs when a search has zero results, so it costs nothing on searches that already find products.",[404,645,646],{"v-slot:related":406},[408,647,648],{},[411,649,650],{},[454,651,653],{"href":652},"#search-the-suggestion","Search the suggestion",[391,655,657,660,666],{"name":656,"type":625,"default":626},"didYouMean.replaceOnNoResults",[397,658,653],{"id":659},"search-the-suggestion",[330,661,662,663,665],{},"With this on, a search that finds nothing is run once more with the corrected query, and the response returns those results with ",[345,664,635],{}," set. Off, the response stays empty and only carries the suggestion.",[404,667,668],{"v-slot:tips":406},[408,669,670,678],{},[411,671,672,673,677],{},"When it is on, tell the shopper what happened: \"Showing results for ",[674,675,676],"em",{},"lamp","\". Results for a different word without a word of explanation look like a bug.",[411,679,680],{},"The corrected search is never corrected a second time, and ranking rules match the corrected query.",[325,682,206],{"id":683},"facets",[391,685,689,693,696,711,769,782],{"name":683,"type":686,"default":687,"values":688},"list of facets","the index facets","up to 50",[397,690,692],{"id":691},"profile-facets","Profile facets",[330,694,695],{},"The filter panels next to the results, in order. Leave the setting out and the profile shows the index facets, which you manage once on the index's Facets page. Set it, even to an empty list, and this profile shows its own facets instead.",[330,697,698,699,702,703,706,707,710],{},"A facet has a ",[345,700,701],{},"type"," and a facetable ",[345,704,705],{},"field",", and an optional ",[345,708,709],{},"label",":",[408,712,713,734,754,760],{},[411,714,715,718,719,722,723,726,727,730,731,420],{},[345,716,717],{},"terms",": the field's values with product counts; ",[345,720,721],{},"limit"," 1 to 500 (default 20), ",[345,724,725],{},"order"," ",[345,728,729],{},"count"," or ",[345,732,733],{},"key",[411,735,736,739,740,743,744,747,748,750,751,753],{},[345,737,738],{},"range",": buckets you define with ",[345,741,742],{},"from"," and ",[345,745,746],{},"to","; ",[345,749,742],{}," is included and ",[345,752,746],{}," is not. Up to 50 buckets, numeric fields only.",[411,755,756,759],{},[345,757,758],{},"stats",": the lowest and highest value in the results, for a price slider. Numeric fields only.",[411,761,762,765,766,768],{},[345,763,764],{},"hierarchy",": a category tree that shows the children of the deepest selected category; ",[345,767,721],{}," 1 to 500 (default 50). Hierarchy fields only.",[404,770,771],{"v-slot:tips":406},[408,772,773,776,779],{},[411,774,775],{},"Use the index facets unless a profile really needs different ones. One list is easier to keep right than several copies.",[411,777,778],{},"Facet counts stay disjunctive: ticking one brand keeps the counts of the other brands, so the shopper can add a second one.",[411,780,781],{},"A facet's field may be filtered by requests automatically; it does not need to be listed under extra filterable fields.",[404,783,784],{"v-slot:related":406},[408,785,786,792],{},[411,787,788],{},[454,789,791],{"href":790},"#hide-empty-facets","Hide empty facets",[411,793,794],{},[454,795,797],{"href":796},"#extra-filterable-fields","Extra filterable fields",[391,799,801,804,807],{"name":800,"type":625,"default":626},"hideEmptyFacets",[397,802,791],{"id":803},"hide-empty-facets",[330,805,806],{},"Leaves out facets with nothing to pick for the current search. A facet the request already filters on stays even when it is empty, so the shopper can still see and clear the selection.",[404,808,809],{"v-slot:tips":406},[408,810,811],{},[411,812,813],{},"Turn it off only when your storefront needs every facet in a fixed position, for example in a layout with a slot per facet.",[325,815,817],{"id":816},"sorting","Sorting",[391,819,824,828,853,868],{"name":820,"type":821,"default":822,"values":823},"sortOptions","list of sorts","[\"_relevance\"]","1 to 50 options",[397,825,827],{"id":826},"sort-options","Sort options",[330,829,830,831,834,835,838,839,842,843,730,846,849,850,420],{},"The sort orders a shopper can pick. Each option is up to 10 clauses joined by commas and applied in order: ",[345,832,833],{},"_relevance"," (best match first) or ",[345,836,837],{},"field:asc"," \u002F ",[345,840,841],{},"field:desc"," on a sortable field, for example ",[345,844,845],{},"price:asc",[345,847,848],{},"inStock:desc,_relevance",". A field may appear once per option. A request asking for a sort that is not in this list answers ",[345,851,852],{},"400 SORT_NOT_ALLOWED",[404,854,855],{"v-slot:tips":406},[408,856,857,862],{},[411,858,572,859,861],{},[345,860,833],{}," in the list. Without it, a shopper who picked \"price, low to high\" cannot get back to best matches.",[411,863,864,865,867],{},"Products that tie on a field sort (equal prices) fall back to the best match first, so you do not need to add ",[345,866,833],{}," at the end yourself.",[404,869,870],{"v-slot:related":406},[408,871,872,878],{},[411,873,874],{},[454,875,877],{"href":876},"#default-sort","Default sort",[411,879,880],{},[454,881,883],{"href":882},"#always-show-first","Always show first",[391,885,888,891,894],{"name":886,"type":887,"default":833},"defaultSort","sort",[397,889,877],{"id":890},"default-sort",[330,892,893],{},"The sort used when a request does not ask for one. It must be one of the sort options, or the save fails.",[404,895,896],{"v-slot:tips":406},[408,897,898],{},[411,899,900,901,903],{},"Leave the search page on ",[345,902,833],{},". A category page with an empty query is a good place for a field sort such as newest first.",[391,905,910,913,920],{"name":906,"type":907,"default":908,"values":909},"pinnedSort","list of sort clauses","[]","up to 10 clauses",[397,911,883],{"id":912},"always-show-first",[330,914,915,916,919],{},"Sort clauses that lead every search, before the default or the requested sort, such as ",[345,917,918],{},"inStock:desc"," to show products in stock first. A clause of the chosen sort on the same field is dropped, since it would change nothing after the pinned one.",[404,921,922],{"v-slot:tips":406},[408,923,924,927],{},[411,925,926],{},"In-stock first is the classic use. Keep the list short: each clause pushes relevance further down.",[411,928,929],{},"Ranking rules that pin products only take effect when, after these clauses, results are ordered by relevance.",[325,931,933],{"id":932},"filters","Filters",[391,935,938,942,957,971],{"name":932,"type":936,"default":937},"field → filter","{}",[397,939,941],{"id":940},"always-on-filters","Always-on filters",[330,943,944,945,948,949,952,953,956],{},"Filters every search gets. A product shows up only when it matches all of them, and the storefront cannot lift them. A filter is a value, a list of values (any of them), a range ",[345,946,947],{},"{\"gte\": 10, \"lt\": 50}",", ",[345,950,951],{},"{\"exists\": true}"," or category nodes ",[345,954,955],{},"{\"terms\": [\"TV>OLED\"]}",", on a filterable or facetable field.",[404,958,959],{"v-slot:tips":406},[408,960,961,968],{},[411,962,963,964,967],{},"Use one to give a profile its own slice of the index, such as ",[345,965,966],{},"{\"inStock\": true}"," for a shop that never shows sold-out products.",[411,969,970],{},"These filters narrow facet counts too, so facets never offer values that cannot be shown.",[404,972,973],{"v-slot:related":406},[408,974,975],{},[411,976,977],{},[454,978,980],{"href":979},"#exclusions","Exclusions",[391,982,984,987,990],{"name":983,"type":936,"default":937},"exclusionFilters",[397,985,980],{"id":986},"exclusions",[330,988,989],{},"Products that match any of these never show up, whatever the request asks for. They take the same filter forms as always-on filters.",[404,991,992],{"v-slot:tips":406},[408,993,994],{},[411,995,996],{},"Good for hiding a brand or a category from one storefront without deleting it from the index. To hide single products for chosen searches, a ranking rule is the better tool.",[391,998,1002,1005,1012],{"name":999,"type":1000,"default":908,"values":1001},"filterFields","list of fields","up to 100",[397,1003,797],{"id":1004},"extra-filterable-fields",[330,1006,1007,1008,1011],{},"Fields a request may filter on besides the facet fields. A request filtering on any other field answers ",[345,1009,1010],{},"400 FILTER_NOT_ALLOWED",", which keeps storefront requests from filtering on fields you did not mean to expose.",[404,1013,1014],{"v-slot:tips":406},[408,1015,1016],{},[411,1017,1018,1019,1022,1023,1026],{},"Add a field here when the storefront filters without showing a facet, such as a hidden ",[345,1020,1021],{},"currency"," or a ",[345,1024,1025],{},"visibility"," flag.",[325,1028,1030],{"id":1029},"results","Results",[391,1032,1036,1040,1043],{"name":1033,"type":1000,"default":1034,"values":1035},"fields","every returnable field","up to 200",[397,1037,1039],{"id":1038},"fields-in-each-hit","Fields in each hit",[330,1041,1042],{},"The fields each hit returns. Leave it out and a hit carries every returnable field of the mapping.",[404,1044,1045],{"v-slot:tips":406},[408,1046,1047],{},[411,1048,1049],{},"List only what the result card shows (title, price, image, URL). Smaller responses render faster, especially on mobile.",[391,1051,1055,1059,1062],{"name":1052,"type":527,"default":1053,"values":1054},"perPage.default","24","1 to 1000",[397,1056,1058],{"id":1057},"results-per-page","Results per page",[330,1060,1061],{},"How many hits a page holds when the request does not say. It cannot be higher than the most a request may ask for.",[404,1063,1064],{"v-slot:tips":406},[408,1065,1066],{},[411,1067,1068],{},"Pick a number that fills whole rows of your grid: 24 works for 2, 3, 4 and 6 columns.",[391,1070,1073,1077,1088],{"name":1071,"type":527,"default":1072,"values":1054},"perPage.max","100",[397,1074,1076],{"id":1075},"most-a-request-may-ask-for","Most a request may ask for",[330,1078,1079,1080,1083,1084,1087],{},"The largest ",[345,1081,1082],{},"perPage"," a request may send; above it the API answers ",[345,1085,1086],{},"400 PER_PAGE_TOO_LARGE",". Independently, a page must start within the first 10,000 results.",[404,1089,1090],{"v-slot:tips":406},[408,1091,1092],{},[411,1093,1094],{},"Keep it low on public storefronts. A high limit lets anyone pull large result pages with a public key.",{"title":406,"searchDepth":1096,"depth":1096,"links":1097},2,[1098,1099,1103,1108,1114,1118,1123,1128],{"id":327,"depth":1096,"text":328},{"id":388,"depth":1096,"text":389,"children":1100},[1101],{"id":393,"depth":1102,"text":399},3,{"id":423,"depth":1096,"text":424,"children":1104},[1105,1106,1107],{"id":432,"depth":1102,"text":433},{"id":485,"depth":1102,"text":476},{"id":532,"depth":1102,"text":482},{"id":545,"depth":1096,"text":546,"children":1109},[1110,1111,1112,1113],{"id":554,"depth":1102,"text":555},{"id":608,"depth":1102,"text":594},{"id":629,"depth":1102,"text":600},{"id":659,"depth":1102,"text":653},{"id":683,"depth":1096,"text":206,"children":1115},[1116,1117],{"id":691,"depth":1102,"text":692},{"id":803,"depth":1102,"text":791},{"id":816,"depth":1096,"text":817,"children":1119},[1120,1121,1122],{"id":826,"depth":1102,"text":827},{"id":890,"depth":1102,"text":877},{"id":912,"depth":1102,"text":883},{"id":932,"depth":1096,"text":933,"children":1124},[1125,1126,1127],{"id":940,"depth":1102,"text":941},{"id":986,"depth":1102,"text":980},{"id":1004,"depth":1102,"text":797},{"id":1029,"depth":1096,"text":1030,"children":1129},[1130,1131,1132],{"id":1038,"depth":1102,"text":1039},{"id":1057,"depth":1102,"text":1058},{"id":1075,"depth":1102,"text":1076},"md",{},{"icon":204},{"title":200,"description":203},"fal8qqr6q50jAKbxK_7lALFIJkNrskunUe3z4nLpWTg",[1139,1140],{"title":194,"path":195,"stem":196,"description":197,"icon":198,"children":-1},{"title":206,"path":207,"stem":208,"description":209,"icon":210,"children":-1},1792794344462]