[{"data":1,"prerenderedAt":833},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fdocs\u002Fgetting-started\u002Fquickstart":235,"docs-\u002Fdocs\u002Fgetting-started\u002Fquickstart-surround":830},[4],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Docs","\u002Fdocs","docs",[9,35,60,78,120,157,168,180,205],{"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},"Search and relevance","The search API, search profiles, facets, synonyms and ranking rules.","i-lucide-search","\u002Fdocs\u002Fsearch","docs\u002F5.search",[127,133,139,145,151],{"title":128,"path":129,"stem":130,"description":131,"icon":132},"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":134,"path":135,"stem":136,"description":137,"icon":138},"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":140,"path":141,"stem":142,"description":143,"icon":144},"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":146,"path":147,"stem":148,"description":149,"icon":150},"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":152,"path":153,"stem":154,"description":155,"icon":156},"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":158,"description":159,"icon":160,"path":161,"stem":162,"children":163,"page":34},"Autocomplete","Query suggestions as the shopper types.","i-lucide-text-cursor-input","\u002Fdocs\u002Fautocomplete","docs\u002F6.autocomplete",[164],{"title":158,"path":165,"stem":166,"description":167,"icon":160},"\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":169,"description":170,"icon":171,"path":172,"stem":173,"children":174,"page":34},"Analytics","Searches, zero-result queries and latency.","i-lucide-chart-line","\u002Fdocs\u002Fanalytics","docs\u002F7.analytics",[175],{"title":176,"path":177,"stem":178,"description":179,"icon":171},"Search analytics","\u002Fdocs\u002Fanalytics\u002Fsearch-analytics","docs\u002F7.analytics\u002F1.search-analytics","How many searches an index serves, which queries find nothing, how fast it answers, and what to do about zero results.",{"title":181,"description":182,"icon":183,"path":184,"stem":185,"children":186,"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",[187,193,199],{"title":188,"path":189,"stem":190,"description":191,"icon":192},"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":194,"path":195,"stem":196,"description":197,"icon":198},"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":200,"path":201,"stem":202,"description":203,"icon":204},"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":206,"description":207,"icon":208,"path":209,"stem":210,"children":211,"page":34},"Reference","Every REST route, every limit, plans and billing, and status.","i-lucide-book-open","\u002Fdocs\u002Freference","docs\u002F9.reference",[212,218,223,229],{"title":213,"path":214,"stem":215,"description":216,"icon":217},"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":219,"path":220,"stem":221,"description":222,"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":224,"path":225,"stem":226,"description":227,"icon":228},"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":230,"path":231,"stem":232,"description":233,"icon":234},"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":236,"title":23,"body":237,"description":26,"extension":825,"meta":826,"navigation":827,"path":24,"seo":828,"stem":25,"__hash__":829},"docs\u002Fdocs\u002F1.getting-started\u002F2.quickstart.md",{"type":238,"value":239,"toc":813},"minimark",[240,245,253,763,767,773,781,800,804,807,809],[241,242,244],"h2",{"id":243},"from-account-to-first-search","From account to first search",[246,247,248,249,252],"p",{},"Six steps with curl. If the concepts are new to you, read the ",[250,251,17],"a",{"href":18}," first. Every call after the first two works the same from the cabinet or an MCP client.",[254,255,257,262,279,283,297,342,346,352,414,429,433,436,446,537,556,561,590,594,601,604,678,685,689,693,738],"steps",{"level":256},"3",[258,259,261],"h3",{"id":260},"create-an-account","Create an account",[246,263,264,268,269,273,274,278],{},[250,265,267],{"href":266},"\u002Fregister","Register"," with your email and confirm it from the verification mail. Registration creates an organization, a project called ",[270,271,272],"strong",{},"Default"," and the Free plan for you. Open the project in the cabinet and copy its id from the URL: ",[275,276,277],"code",{},"\u002Fapp\u002Fp\u002F\u003Cproject id>\u002F…",".",[258,280,282],{"id":281},"create-a-secret-key","Create a secret key",[246,284,285,286,288,289,292,293,296],{},"In the cabinet, open ",[270,287,68],{}," and create a ",[270,290,291],{},"secret"," key (",[275,294,295],{},"zs_sk_…",") with full access. The key is shown once, so copy it now. Creating keys needs a confirmed email and the admin role in the organization.",[298,299,304],"pre",{"className":300,"code":301,"language":302,"meta":303,"style":303},"language-bash shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","export PROJECT_ID=\u003Cproject id>\nexport ZS_KEY=zs_sk_...\n","bash","",[275,305,306,328],{"__ignoreMap":303},[307,308,311,315,319,322,325],"span",{"class":309,"line":310},"line",1,[307,312,314],{"class":313},"sklAV","export",[307,316,318],{"class":317},"s7iLA"," PROJECT_ID",[307,320,321],{"class":313},"=\u003C",[307,323,324],{"class":317},"project id",[307,326,327],{"class":313},">\n",[307,329,331,333,336,339],{"class":309,"line":330},2,[307,332,314],{"class":313},[307,334,335],{"class":317}," ZS_KEY",[307,337,338],{"class":313},"=",[307,340,341],{"class":317},"zs_sk_...\n",[258,343,345],{"id":344},"create-an-index","Create an index",[347,348],"api-route",{"auth":349,"method":350,"path":351},"Secret key with full access","POST","\u002Fv1\u002Fprojects\u002F:projectId\u002Findices",[298,353,355],{"className":300,"code":354,"language":302,"meta":303,"style":303},"curl -X POST https:\u002F\u002Fapi.zaproo-search.com\u002Fv1\u002Fprojects\u002F$PROJECT_ID\u002Findices \\\n  -H \"Authorization: Bearer $ZS_KEY\" -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"products\", \"language\": \"english\"}'\n",[275,356,357,383,405],{"__ignoreMap":303},[307,358,359,363,367,371,374,377,380],{"class":309,"line":310},[307,360,362],{"class":361},"szw1H","curl",[307,364,366],{"class":365},"ssYy9"," -X",[307,368,370],{"class":369},"semJd"," POST",[307,372,373],{"class":369}," https:\u002F\u002Fapi.zaproo-search.com\u002Fv1\u002Fprojects\u002F",[307,375,376],{"class":317},"$PROJECT_ID",[307,378,379],{"class":369},"\u002Findices",[307,381,382],{"class":313}," \\\n",[307,384,385,388,391,394,397,400,403],{"class":309,"line":330},[307,386,387],{"class":365},"  -H",[307,389,390],{"class":369}," \"Authorization: Bearer ",[307,392,393],{"class":317},"$ZS_KEY",[307,395,396],{"class":369},"\"",[307,398,399],{"class":365}," -H",[307,401,402],{"class":369}," \"Content-Type: application\u002Fjson\"",[307,404,382],{"class":313},[307,406,408,411],{"class":309,"line":407},3,[307,409,410],{"class":365},"  -d",[307,412,413],{"class":369}," '{\"name\": \"products\", \"language\": \"english\"}'\n",[246,415,416,417,420,421,424,425,428],{},"The answer is the new index with its ",[275,418,419],{},"id",". Leave out ",[275,422,423],{},"fields"," and the first upload maps every field it can recognise. ",[275,426,427],{},"language"," sets stemming and stop words; changing it later needs a reindex.",[258,430,432],{"id":431},"upload-documents","Upload documents",[347,434],{"auth":349,"method":350,"path":435},"\u002Fv1\u002Fprojects\u002F:projectId\u002Findices\u002F:indexId\u002Fdocuments",[246,437,438,439,441,442,445],{},"The body is a bare JSON array of up to 1000 documents, each with an ",[275,440,419],{},". Writes are asynchronous: the API answers ",[275,443,444],{},"202"," with a task id.",[298,447,449],{"className":300,"code":448,"language":302,"meta":303,"style":303},"export INDEX_ID=\u003Cindex id>\ncurl -X POST https:\u002F\u002Fapi.zaproo-search.com\u002Fv1\u002Fprojects\u002F$PROJECT_ID\u002Findices\u002F$INDEX_ID\u002Fdocuments \\\n  -H \"Authorization: Bearer $ZS_KEY\" -H \"Content-Type: application\u002Fjson\" \\\n  -d '[\n    {\"id\": \"tv-1\", \"title\": \"55 inch OLED TV\", \"brand\": \"Samsung\", \"price\": 899, \"inStock\": true},\n    {\"id\": \"tv-2\", \"title\": \"50 inch LED TV\", \"brand\": \"LG\", \"price\": 449, \"inStock\": true}\n  ]'\n# 202 {\"taskId\": \"...\"}\n",[275,450,451,465,488,504,512,518,524,530],{"__ignoreMap":303},[307,452,453,455,458,460,463],{"class":309,"line":310},[307,454,314],{"class":313},[307,456,457],{"class":317}," INDEX_ID",[307,459,321],{"class":313},[307,461,462],{"class":317},"index id",[307,464,327],{"class":313},[307,466,467,469,471,473,475,477,480,483,486],{"class":309,"line":330},[307,468,362],{"class":361},[307,470,366],{"class":365},[307,472,370],{"class":369},[307,474,373],{"class":369},[307,476,376],{"class":317},[307,478,479],{"class":369},"\u002Findices\u002F",[307,481,482],{"class":317},"$INDEX_ID",[307,484,485],{"class":369},"\u002Fdocuments",[307,487,382],{"class":313},[307,489,490,492,494,496,498,500,502],{"class":309,"line":407},[307,491,387],{"class":365},[307,493,390],{"class":369},[307,495,393],{"class":317},[307,497,396],{"class":369},[307,499,399],{"class":365},[307,501,402],{"class":369},[307,503,382],{"class":313},[307,505,507,509],{"class":309,"line":506},4,[307,508,410],{"class":365},[307,510,511],{"class":369}," '[\n",[307,513,515],{"class":309,"line":514},5,[307,516,517],{"class":369},"    {\"id\": \"tv-1\", \"title\": \"55 inch OLED TV\", \"brand\": \"Samsung\", \"price\": 899, \"inStock\": true},\n",[307,519,521],{"class":309,"line":520},6,[307,522,523],{"class":369},"    {\"id\": \"tv-2\", \"title\": \"50 inch LED TV\", \"brand\": \"LG\", \"price\": 449, \"inStock\": true}\n",[307,525,527],{"class":309,"line":526},7,[307,528,529],{"class":369},"  ]'\n",[307,531,533],{"class":309,"line":532},8,[307,534,536],{"class":535},"sq92B","# 202 {\"taskId\": \"...\"}\n",[246,538,539,540,543,544,547,548,551,552,555],{},"Poll the task until its ",[275,541,542],{},"status"," is ",[275,545,546],{},"SUCCEEDED",". ",[275,549,550],{},"PARTIAL"," means some documents failed; the task's ",[275,553,554],{},"errors"," say which and why.",[347,557],{"auth":558,"method":559,"path":560},"Secret key","GET","\u002Fv1\u002Fprojects\u002F:projectId\u002Ftasks\u002F:taskId",[298,562,564],{"className":300,"code":563,"language":302,"meta":303,"style":303},"curl https:\u002F\u002Fapi.zaproo-search.com\u002Fv1\u002Fprojects\u002F$PROJECT_ID\u002Ftasks\u002F$TASK_ID -H \"Authorization: Bearer $ZS_KEY\"\n",[275,565,566],{"__ignoreMap":303},[307,567,568,570,572,574,577,580,583,585,587],{"class":309,"line":310},[307,569,362],{"class":361},[307,571,373],{"class":369},[307,573,376],{"class":317},[307,575,576],{"class":369},"\u002Ftasks\u002F",[307,578,579],{"class":317},"$TASK_ID ",[307,581,582],{"class":365},"-H",[307,584,390],{"class":369},[307,586,393],{"class":317},[307,588,589],{"class":369},"\"\n",[258,591,593],{"id":592},"create-a-search-profile","Create a search profile",[246,595,596,597,600],{},"A ",[250,598,599],{"href":135},"search profile"," fixes which fields a query looks in, the facets and the sort orders. Your storefront only sends the query, filters, sort and page.",[347,602],{"auth":349,"method":350,"path":603},"\u002Fv1\u002Fprojects\u002F:projectId\u002Findices\u002F:indexId\u002Fprofiles",[298,605,607],{"className":300,"code":606,"language":302,"meta":303,"style":303},"curl -X POST https:\u002F\u002Fapi.zaproo-search.com\u002Fv1\u002Fprojects\u002F$PROJECT_ID\u002Findices\u002F$INDEX_ID\u002Fprofiles \\\n  -H \"Authorization: Bearer $ZS_KEY\" -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"name\": \"Storefront\",\n    \"queryFields\": {\"title\": 3, \"brand\": 1},\n    \"facets\": [{\"type\": \"terms\", \"field\": \"brand\"}],\n    \"sortOptions\": [\"_relevance\", \"price:asc\", \"price:desc\"]\n  }'\n",[275,608,609,630,646,653,658,663,668,673],{"__ignoreMap":303},[307,610,611,613,615,617,619,621,623,625,628],{"class":309,"line":310},[307,612,362],{"class":361},[307,614,366],{"class":365},[307,616,370],{"class":369},[307,618,373],{"class":369},[307,620,376],{"class":317},[307,622,479],{"class":369},[307,624,482],{"class":317},[307,626,627],{"class":369},"\u002Fprofiles",[307,629,382],{"class":313},[307,631,632,634,636,638,640,642,644],{"class":309,"line":330},[307,633,387],{"class":365},[307,635,390],{"class":369},[307,637,393],{"class":317},[307,639,396],{"class":369},[307,641,399],{"class":365},[307,643,402],{"class":369},[307,645,382],{"class":313},[307,647,648,650],{"class":309,"line":407},[307,649,410],{"class":365},[307,651,652],{"class":369}," '{\n",[307,654,655],{"class":309,"line":506},[307,656,657],{"class":369},"    \"name\": \"Storefront\",\n",[307,659,660],{"class":309,"line":514},[307,661,662],{"class":369},"    \"queryFields\": {\"title\": 3, \"brand\": 1},\n",[307,664,665],{"class":309,"line":520},[307,666,667],{"class":369},"    \"facets\": [{\"type\": \"terms\", \"field\": \"brand\"}],\n",[307,669,670],{"class":309,"line":526},[307,671,672],{"class":369},"    \"sortOptions\": [\"_relevance\", \"price:asc\", \"price:desc\"]\n",[307,674,675],{"class":309,"line":532},[307,676,677],{"class":369},"  }'\n",[246,679,680,681,684],{},"The answer carries the profile's ",[275,682,683],{},"profileKey",", which goes into the public search URL and never changes.",[258,686,688],{"id":687},"search","Search",[347,690],{"auth":691,"method":350,"path":692},"Public key from an allowed origin, or a secret key","\u002Fv1\u002Fsearch\u002F:profileKey",[298,694,696],{"className":300,"code":695,"language":302,"meta":303,"style":303},"curl -X POST https:\u002F\u002Fapi.zaproo-search.com\u002Fv1\u002Fsearch\u002F$PROFILE_KEY \\\n  -H \"Authorization: Bearer $ZS_KEY\" -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"q\": \"tv\", \"filters\": {\"brand\": [\"Samsung\"]}, \"page\": 1}'\n",[275,697,698,715,731],{"__ignoreMap":303},[307,699,700,702,704,706,709,712],{"class":309,"line":310},[307,701,362],{"class":361},[307,703,366],{"class":365},[307,705,370],{"class":369},[307,707,708],{"class":369}," https:\u002F\u002Fapi.zaproo-search.com\u002Fv1\u002Fsearch\u002F",[307,710,711],{"class":317},"$PROFILE_KEY ",[307,713,714],{"class":313},"\\\n",[307,716,717,719,721,723,725,727,729],{"class":309,"line":330},[307,718,387],{"class":365},[307,720,390],{"class":369},[307,722,393],{"class":317},[307,724,396],{"class":369},[307,726,399],{"class":365},[307,728,402],{"class":369},[307,730,382],{"class":313},[307,732,733,735],{"class":309,"line":407},[307,734,410],{"class":365},[307,736,737],{"class":369}," '{\"q\": \"tv\", \"filters\": {\"brand\": [\"Samsung\"]}, \"page\": 1}'\n",[246,739,740,741,744,745,744,748,751,752,755,756,759,760,762],{},"The answer holds ",[275,742,743],{},"items",", ",[275,746,747],{},"total",[275,749,750],{},"facets"," with counts and ",[275,753,754],{},"correctedQuery"," when did-you-mean stepped in. For the storefront, call search from the shopper's browser with a public key (",[275,757,758],{},"zs_pk_…",") that lists your shop's domains, or from your shop's server with a secret key that has read access and is limited to the index. ",[250,761,29],{"href":30}," shows the search page, facets and autocomplete in full.",[241,764,766],{"id":765},"or-let-your-agent-do-it","Or let your agent do it",[246,768,769,770,772],{},"Every step above is also an MCP tool. Connect Claude Code or another MCP client with your secret key (see ",[250,771,188],{"href":189},") and ask in plain words:",[298,774,779],{"className":775,"code":777,"language":778,"meta":303},[776],"language-text","Create an index called products in English, upload the documents in .\u002Fcatalog.json,\nwait for the task to finish, then create a search profile that searches title and brand\nwith a brand facet, and search for \"tv\".\n","text",[275,780,777],{"__ignoreMap":303},[246,782,783,784,744,787,744,790,744,793,796,797,799],{},"The agent calls ",[275,785,786],{},"create_index",[275,788,789],{},"index_documents",[275,791,792],{},"get_task",[275,794,795],{},"upsert_profile"," and ",[275,798,687],{}," for you.",[241,801,803],{"id":802},"languages","Languages",[246,805,806],{},"An index has one language for its analyzers. Pick it when you create the index:",[802,808],{},[810,811,812],"style",{},"html pre.shiki code .sklAV, html code.shiki .sklAV{--shiki-light:#A0111F;--shiki-default:#A0111F;--shiki-dark:#FF9492}html pre.shiki code .s7iLA, html code.shiki .s7iLA{--shiki-light:#0E1116;--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szw1H, html code.shiki .szw1H{--shiki-light:#702C00;--shiki-default:#702C00;--shiki-dark:#FFB757}html pre.shiki code .ssYy9, html code.shiki .ssYy9{--shiki-light:#023B95;--shiki-default:#023B95;--shiki-dark:#91CBFF}html pre.shiki code .semJd, html code.shiki .semJd{--shiki-light:#032563;--shiki-default:#032563;--shiki-dark:#ADDCFF}html pre.shiki code .sq92B, html code.shiki .sq92B{--shiki-light:#66707B;--shiki-default:#66707B;--shiki-dark:#BDC4CC}",{"title":303,"searchDepth":330,"depth":330,"links":814},[815,823,824],{"id":243,"depth":330,"text":244,"children":816},[817,818,819,820,821,822],{"id":260,"depth":407,"text":261},{"id":281,"depth":407,"text":282},{"id":344,"depth":407,"text":345},{"id":431,"depth":407,"text":432},{"id":592,"depth":407,"text":593},{"id":687,"depth":407,"text":688},{"id":765,"depth":330,"text":766},{"id":802,"depth":330,"text":803},"md",{},{"icon":27},{"title":23,"description":26},"mfyAuo-TdVxwKsDtWqJzvotfYZZa5xmX5FADCu29KNI",[831,832],{"title":17,"path":18,"stem":19,"description":20,"icon":21,"children":-1},{"title":29,"path":30,"stem":31,"description":32,"icon":33,"children":-1},1792598976614]