Learn how to enable Personalization with or without an InstantSearch implementation.
To give your users a personalized experience, you need to include the enablePersonalization and userToken parameters in the .
How you do this depends on your Algolia implementation and whether you use InstantSearch.You can also set enablePersonalization in your settings instead of sending it as a search parameter.
This way, every search on your index uses Personalization.
You can override this at query time by setting the enablePersonalization parameter to false.If you set enablePersonalization as an index setting,
you still need to include a user’s userToken in your search requests.
If you don’t include the userToken,
Algolia doesn’t know which user’s profile to apply to personalize the results.
If you’re using one of the API clients to make search requests,
you can include enablePersonalization and userToken as parameters.
Add them to the search method.
The userToken should match the one you’re using to send events for a particular user.
var response = await client.SearchSingleIndexAsync<Hit>( "INDEX_NAME", new SearchParams( new SearchParamsObject { EnablePersonalization = true, UserToken = "user-1" } ));
You can set enablePersonalization as an index setting for the indices you want to personalize results for.
This setting automatically sets enablePersonalization:true for any search requests made on this index.
If you want to turn off Personalization at query time, include enablePersonalization:false on those search requests.Go to Indices section of the dashboard and then Configuration » Relevance Essentials » Personalization for each index you want to enable Personalization on.
Here, you can set enablePersonalization to true.Remember that unless you include a valid userToken, the engine can’t personalize results.
Even if you enable Personalization on the dashboard, you still need to provide the userToken using either InstantSearch or an API Client.That’s why you don’t automatically see personalized results when testing queries in the Browse section.
This happens on an index where you’ve enabled enablePersonalization as an index setting.
Instead of adding the userToken by selecting +Add Query Parameter,
use the Personalization simulator.
The simulator lets you compare personalized and non-personalized results, and explains how Personalization affected them.
Last modified on September 16, 2026
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Algolia","description":"Build search, discovery, and AI experiences with Algolia. Guides, API references, libraries, UI components, and integrations for your stack.","colors":{"primary":"#3970ff","light":"#3970ff","dark":"#003DFF"},"logo":{"light":"https://mintcdn.com/algolia/kiecJp3hu-WXhj-3/logo/light.svg?fit=max\u0026auto=format\u0026n=kiecJp3hu-WXhj-3\u0026q=85\u0026s=bf613e260ca94c0eb23384e6c0d5c77f","dark":"https://mintcdn.com/algolia/kiecJp3hu-WXhj-3/logo/dark.svg?fit=max\u0026auto=format\u0026n=kiecJp3hu-WXhj-3\u0026q=85\u0026s=31a97f60063c111253c518bc0c638e70","href":"/doc"},"favicon":"https://mintcdn.com/algolia/ApgdWRCFtd9v2oPX/favicon.png?fit=max\u0026auto=format\u0026n=ApgdWRCFtd9v2oPX\u0026q=85\u0026s=91df7c93abadfb122ffc8e0f78cc2dc8","api":{"playground":{"display":"simple"},"examples":{"languages":["curl","csharp","dart","go","java","javascript","kotlin","php","python","ruby","scala","swift"],"autogenerate":false}},"navbar":{"links":[{"href":"https://dashboard.algolia.com/users/sign_in","label":"Log in"}],"primary":{"type":"button","label":"Create account","href":"https://www.algolia.com/users/sign_up"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/algolia","x":"https://twitter.com/algolia","discord":"https://alg.li/discord","youtube":"https://www.youtube.com/channel/UCTNkiq-SO8hay1PRx-it9Cw","website":"https://www.algolia.com"},"links":[{"items":[{"label":"Support","href":"https://support.algolia.com/hc/en-us"},{"label":"Glossary","href":"/doc/glossary"},{"label":"Privacy policy","href":"https://www.algolia.com/policies/privacy"},{"label":"Cookie settings","href":"https://www.algolia.com"}]}]},"seo":{"metatags":{"canonical":"https://www.algolia.com"},"organization":{"id":"https://www.algolia.com/#organization","name":"Algolia","url":"https://www.algolia.com","sameAs":["https://www.linkedin.com/company/algolia/","https://github.com/algolia","https://x.com/algolia","https://www.youtube.com/channel/UCTNkiq-SO8hay1PRx-it9Cw"]}},"fonts":{"heading":{"family":"Sora"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"section","codeblocks":"system","latex":true},"integrations":{"segment":{"key":"cKQbv9nMHIUgdWswDLG0c3UdiUgBaUmA"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"algolia","hasAudioNarration":false,"actualSubdomain":"algolia","customDomains":["www.algolia.com"],"gitSource":{"type":"github","owner":"algolia","repo":"docs-new","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aedffff2f3197cf5b96845b","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Libraries and tools","count":629},{"language":"default","tag":"Guides","count":585},{"language":"default","tag":"API clients","count":418},{"language":"default","tag":"Search and Discovery platform","count":408},{"language":"default","tag":"API reference","count":400},{"language":"default","tag":"Reference","count":293},{"language":"default","tag":"UI libraries","count":290},{"language":"default","tag":"Build Search UI","count":235},{"language":"default","tag":"Search","count":187},{"language":"default","tag":"React InstantSearch","count":169}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":":root{--radius: 0.5rem;--rounded-2xl: var(--radius);--rounded-xl: var(--radius);--rounded-lg: var(--radius);--rounded-md: var(--radius);--rounded-full: var(--radius);--icon-stroke: #000000;--border-color: rgb(var(--gray-200) / 0.5);--font-weight-headings-custom: 700;--docsearch-background-color: #f5f6f7;--filters-token-string-color: #b46900;--filters-token-error-color: #d7263d;--filters-token-paren-color: #005cc5;--filters-token-num-color: #6f42c1;--filters-token-operator-color: #22863a;--docsearch-sidepanel-border: var(--border-color);--docsearch-sidepanel-background: rgb(244, 246, 250);--docsearch-sidepanel-background-dark: #fff;--docsearch-hit-background-muted: rgb(247, 247, 248);--docsearch-searchbox-focus-background: #fff}:root.dark,html[data-theme=dark]{--icon-stroke: #ffffff;--border-color: rgb(var(--gray-900) / 0.8);--docsearch-background-color: #0a0b11 !important;--docsearch-dropdown-menu-background: #10121e;--docsearch-dropdown-menu-item-hover-background: #0a0b11;--docsearch-hit-color: #e5e7eb;--filters-token-string-color: #ffa657;--filters-token-error-color: #ff6b6b;--filters-token-paren-color: #79c0ff;--filters-token-num-color: #d2a8ff;--filters-token-operator-color: #7ee787;--docsearch-sidepanel-background: rgb(15, 17, 23);--docsearch-sidepanel-background-dark: rgba(11, 13, 17, 1);--docsearch-hit-background-muted: rgb(14, 17, 23);--docsearch-modal-background: #0a0b11;--docsearch-hit-focus-background: rgb(var(--gray-900))}.rounded-\\[0\\.85rem\\]{border-radius:var(--radius)}#banner{background-color:#23263b}#banner a{color:inherit}#background-div{background-color:#f6f6fa}.dark #background-div{background-color:#ffffff;opacity:0.03}#pagination{display:none}.background-lines{fill:#c5c9e0}.dark .background-lines{fill:#ffffff;fill-opacity:0.15}th{text-align:left}.tooltip{user-select:text}.prose a{font-weight:inherit}.prose a strong{font-weight:600}.katex-display>.katex{overflow-y:hidden}.prose a.link[href^=\"http\"]:not([href^=\"https://www.algolia.com/doc\"]){white-space:nowrap}.prose a.link[href^=\"http\"]:not([href^=\"https://www.algolia.com/doc\"])::after{display:inline-block;width:14px;height:14px;margin-left:4px;vertical-align:-2px;content:\"\";background-color:currentColor;-webkit-mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E\u003cpath d='M15 3h6v6'/%3E\u003cpath d='M10 14 21 3'/%3E\u003cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E\") center / contain no-repeat;mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E\u003cpath d='M15 3h6v6'/%3E\u003cpath d='M10 14 21 3'/%3E\u003cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E\") center / contain no-repeat}.prose h2 code,.prose h3 code,.prose h4 code{font-weight:700}.prose table a code{word-break:keep-all}[data-component-part=\"field-content\"]{margin-left:1.5rem}[data-component-part=\"code-block-root\"]{border-radius:var(--radius)}#content-area img{margin-inline:auto;background:transparent!important}#content-area img:not(.no-shadow){box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1)}#content-area video{margin-inline:auto}.video-embed{display:block;width:100%;min-width:0;max-width:var(--video-embed-max-width, 644px);aspect-ratio:16 / 9;height:auto;margin-inline:auto}button+div[aria-hidden=\"true\"]{background-color:#23263b;border-radius:var(--radius);box-shadow:0 0 0 1px #23263b0d, 0 4px 8px -2px #23263b40;color:#fff;padding:.5rem .75rem}#feedback-toolbar button{border-radius:var(--radius)}html.no-overflow{overflow:hidden}body.DocSearch--active{overflow:initial!important}.DocSearch-Container{visibility:hidden;opacity:0;transition:opacity 120ms ease;padding-top:5vh;position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.1);display:flex;align-items:flex-start;justify-content:center;z-index:200;cursor:initial}.DocSearch-Container.docsearch-ready{visibility:visible;opacity:1}.dark .DocSearch-Form,.dark .DocSearch-SearchBar{background-color:transparent!important}.DocSearch-Dropdown{border-top:1px solid var(--docsearch-subtle-color);scrollbar-color:#9698c3 #f5f6f7;scrollbar-width:thin}.dark .DocSearch-Container{--docsearch-text-color: #c4c7dc}.dark .DocSearch-Dropdown{scrollbar-color:#7f8497 #15172a}.dark .DocSearch-Close{color:#5172FF}.dark .DocSearch-Close svg{color:#5172FF}.dark .DocSearch-MagnifierLabel svg{color:#5172FF}.DocSearch-SidepanelButton.floating{display:none}.dark .DocSearch-Dropdown{border-color:#212139}.dark .DocSearch-Divider{border-color:#212139}.dark .DocSearch-Input{color:white;caret-color:white}.dark .DocSearch-Container{background-color:rgba(0, 0, 0, 0.6)!important}.dark .DocSearch-SearchBar,.dark .DocSearch-Form,.dark .DocSearch-Input{color:#ffffff!important}.dark .DocSearch-Input::placeholder{color:#ffffff!important;opacity:0.9}.dark .DocSearch-Reset,.dark .DocSearch-Reset span,.dark .DocSearch-Reset svg,.dark .DocSearch-Close,.dark .DocSearch-Close svg{color:#5172ff!important;fill:#5172ff!important;stroke:#5172ff!important}.dark .DocSearch-Cancel,.dark .DocSearch-Cancel svg{color:#ffffff!important;fill:#ffffff!important;stroke:#ffffff!important}.dark .DocSearch-MagnifierLabel,.dark .DocSearch-MagnifierLabel svg{color:#5172ff!important;fill:#5172ff!important;stroke:#5172ff!important}.dark .DocSearch-Dropdown{background-color:#0a0b11!important}.dark .DocSearch-Hits mark{background-color:transparent!important;color:#7aa2ff!important}.dark .DocSearch-Hit a{color:#e5e7eb!important;border-color:#1b1e29!important}.dark .DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.dark .DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon{color:#7aa2ff}.dark .DocSearch-Title,.dark .DocSearch-Label{background-color:#0f1117!important}.dark .DocSearch-Title,.dark .DocSearch-Label,.dark .DocSearch-Hit-source{color:#e5e7eb!important}.dark .DocSearch-Footer{background-color:#0f1117!important;border-top:1px solid #1b1e29!important;color:#cbd5e1!important}.DocSearch-Hit--AskAI .DocSearch-AskAiScreen-Response .DocSearch-AskAiScreen-RelatedSources-Item-Link{background:var(--docsearch-hit-background-muted)!important}.DocSearch-Hit-AskAIButton-title-query{color:var(--docsearch-highlight-color)}.dark .DocSearch-Hit-AskAIButton-title-query{color:#7aa2ff!important}.dark .DocSearch-AskAiScreen-Response{color:#f5f6f7!important}.dark .DocSearch-Markdown-Content,.dark .DocSearch-Markdown-Content li{color:#cbd5e1!important}.dark .DocSearch-Markdown-Content a{color:#7aa2ff!important}.dark .DocSearch-AskAiScreen-RelatedSources-Item-Link{color:#cbd5e1}.dark .DocSearch-AskAiScreen-Response .DocSearch-CodeSnippet .DocSearch-CodeSnippet-CopyButton{background-color:#0f1117!important;color:#cbd5e1!important}.dark .DocSearch-AskAiScreen-Response .DocSearch-CodeSnippet pre{background-color:#0f1117!important;color:#e5e7eb!important}.dark .DocSearch-AskAiScreen-Response .DocSearch-CodeSnippet pre code{background-color:transparent!important;color:inherit!important}.DocSearch-Modal{position:relative;overflow:hidden;width:700px;max-width:90vw;border-radius:var(--radius);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15)}.docsearch-expanded .DocSearch-Modal{max-height:auto;border-radius:var(--radius);box-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25)}@media (max-width: 768px){.DocSearch-Container{padding-top:0}.DocSearch-Modal{width:100vw;max-width:100vw;border-radius:var(--radius)}.docsearch-expanded .DocSearch-Modal{max-height:100vh;border-radius:var(--radius)}.DocSearch-Dropdown{height:calc(100vh - var(--docsearch-footer-height) - var(--docsearch-searchbox-height, var(--docsearch-searchbox-initial-height)))}.docsearch-sidepanel-toggle .docsearch-sidepanel-label,.docsearch-sidepanel-toggle .docsearch-sidepanel-shortcut{display:none}.docsearch-sidepanel-toggle{padding:0 0.5rem}}@media (min-width: 769px){.docsearch-sidepanel-toggle{border:1px solid transparent;box-shadow:0 0 0 1px rgba(156, 163, 175, 0.3)}.docsearch-sidepanel-toggle:hover{box-shadow:0 0 0 1px rgba(75, 85, 99, 0.3)}html.dark .docsearch-sidepanel-toggle{box-shadow:0 0 0 1px rgba(75, 85, 99, 0.3)}html.dark .docsearch-sidepanel-toggle:hover{box-shadow:0 0 0 1px rgba(107, 114, 128, 0.3)}}.DocSearch-Sidepanel-Header{height:3.0rem}.DocSearch-Sidepanel-Container.inline.side-right{border-bottom-left-radius:0;border-left:1px solid var(--docsearch-sidepanel-border);border-top-left-radius:0}.DocSearch-Sidepanel-Container{box-shadow:none}.DocSearch-MCP-Callout{font-size:0.875em;display:flex;align-items:center;gap:0.25rem;color:var(--docsearch-text-color);padding-inline:0.25rem 0.5rem;padding-block:0.25rem;border-radius:var(--docsearch-border-radius);background-color:var(--docsearch-hit-focus-background);min-block-size:1.5rem}.DocSearch-MCP-Callout:hover,.DocSearch-MCP-Callout:focus-visible{outline:2px solid var(--docsearch-highlight-color)}.DocSearch-MCP-Callout svg{height:1rem;width:1rem;color:var(--docsearch-highlight-color);margin-block-start:1px}html.dark #filter-validator{background-color:var(--shiki-dark-bg)}#filter-validator{.Token_EOF {\n color: transparent;\n }\n\n .Token_Empty_Str,\n .Token_Incomplete_Str,\n .Token_String,\n .Token_Term {\n color: var(--filters-token-string-color);\n }\n\n .Token_Error {\n color: var(--filters-token-error-color);\n }\n\n .Token_Open_Paren,\n .Token_Close_Paren,\n .Token_Open_Angled_Bracket,\n .Token_Close_Angled_Bracket,\n .Token_Comma,\n .Token_Facet_Separator {\n color: var(--filters-token-paren-color);\n }\n\n .Token_Num {\n color: var(--filters-token-num-color);\n }\n\n .Token_OR,\n .Token_AND,\n .Token_NOT,\n .Token_Operator,\n .Token_Range {\n color: var(--filters-token-operator-color);\n }}.nav-tag-pill-text{text-transform:uppercase;letter-spacing:1px}[data-group-tag]>button>div{display:flex;align-items:center;gap:0.5rem}.steps .step .prose ol{list-style-type:lower-alpha}.no-bullets ul{margin-top:1rem;padding-left:0;margin-left:0;list-style:none}@layer components{.prose .no-bullets li{margin:0.5rem 0;margin-left:0!important;padding-left:0!important;list-style:none}}.no-bullets a.link{border-bottom-color:transparent}.no-bullets a.link:hover,.no-bullets a.link:focus-visible{border-bottom-color:rgb(57, 112, 255)}.no-bullets li::before{content:none!important}.homepage-hero{background-color:#23263b;background-image:linear-gradient(\n 90deg,\n rgba(12, 30, 69, 0.82) 0%,\n rgba(12, 30, 69, 0.72) 34%,\n rgba(12, 30, 69, 0.58) 58%,\n rgba(12, 30, 69, 0.44) 100%\n ),\n url(\"/mintlify-assets/hero.png\");background-position:center, 72% center;background-repeat:no-repeat;background-size:cover}@supports (background-image: image-set(url(\"/mintlify-assets/hero.webp\") type(\"image/webp\") 1x)){.homepage-hero{background-image:linear-gradient(\n 90deg,\n rgba(12, 30, 69, 0.82) 0%,\n rgba(12, 30, 69, 0.72) 34%,\n rgba(12, 30, 69, 0.58) 58%,\n rgba(12, 30, 69, 0.44) 100%\n ),\n image-set(\n url(\"/mintlify-assets/hero.webp\") type(\"image/webp\") 1x,\n url(\"/mintlify-assets/hero.png\") type(\"image/png\") 1x\n )}}@supports (background-image: -webkit-image-set(url(\"/mintlify-assets/hero.webp\") type(\"image/webp\") 1x)){.homepage-hero{background-image:linear-gradient(\n 90deg,\n rgba(12, 30, 69, 0.82) 0%,\n rgba(12, 30, 69, 0.72) 34%,\n rgba(12, 30, 69, 0.58) 58%,\n rgba(12, 30, 69, 0.44) 100%\n ),\n -webkit-image-set(\n url(\"/mintlify-assets/hero.webp\") type(\"image/webp\") 1x,\n url(\"/mintlify-assets/hero.png\") type(\"image/png\") 1x\n )}}.homepage-hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:0;padding:0.5rem 0.875rem;border-radius:var(--radius);background:linear-gradient(220deg, rgb(69, 122, 255) 0%, rgb(30, 89, 255) 60.16%);color:#fff!important;font-family:Sora, sans-serif;font-size:0.875rem;font-weight:700;line-height:1.5rem;letter-spacing:0.28px;text-decoration:none;transition:all 150ms ease}.homepage-hero-cta:hover{background:linear-gradient(138deg, rgba(118, 160, 255, 0.7) 0%, rgba(0, 61, 255, 0.7) 25.08%, rgba(151, 71, 255, 0.7) 56.38%, rgba(118, 160, 255, 0.7) 100%), rgb(0, 61, 255);color:#fff!important}@media (min-width: 1024px){.homepage-hero-cta{padding:0.75rem 1.25rem;font-size:1rem;letter-spacing:0.32px}}.sig-param-link{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);cursor:pointer;border-radius:2px;transition:text-decoration-color 120ms ease, text-decoration-thickness 120ms ease}.sig-param-link:hover,.sig-param-link:focus-visible,.line:has(.sig-param-link:hover) .sig-param-link,.line:has(.sig-param-link:focus-visible) .sig-param-link{text-decoration-style:solid;text-decoration-thickness:2px;text-decoration-color:currentColor;outline:none}.mint-flavor-switcher-slot{min-height:2.75rem;margin:0.25rem 0 1.5rem}.mint-flavor-switcher-slot .mint-flavor-switcher{margin:0}"}],"page":{"pagePath":"doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization","slug":"/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization","pageMetadata":{"title":"Enabling Personalization","description":"Learn how to enable Personalization with or without an InstantSearch implementation.","keywords":"ais-configure, ais-instant-search, searchSingleIndex","public":true,"subtype":"Guide","href":"/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how to enable Personalization with or without an InstantSearch implementation.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const SearchRequest=()=>{const{Tooltip}=_provideComponents()||{};if(!Tooltip)_missingMdxReference(`Tooltip`,true);return _jsx(Tooltip,{tip:`A search request is a single HTTP call to the Algolia Search API that can run one or more search operations. It can include multiple queries, for example, when querying several indices at once.`,children:`search request`})};const Index=()=>{const{Tooltip}=_provideComponents()||{};if(!Tooltip)_missingMdxReference(`Tooltip`,true);return _jsx(Tooltip,{tip:`An Algolia index is a searchable dataset that consists of records and configuration settings. These settings define how the records are searched and ranked.`,children:`index`})};const Affinity=()=>{const{Tooltip}=_provideComponents()||{};if(!Tooltip)_missingMdxReference(`Tooltip`,true);return _jsx(Tooltip,{tip:`Affinity is a preference score that Algolia calculates for each user based on their behavior. It reflects how likely a user is to prefer a specific facet-value pair and helps personalize their search results.`,cta:`Affinity`,href:`/doc/guides/personalization/advanced-personalization/configure/prerequisites/consider-requirements-limits#affinities`,children:`affinity`})};function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,_MdxComponentBoundary}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`To give your users a personalized experience, you need to include the `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/enablePersonalization`,children:_jsx(_components.code,{children:`enablePersonalization`})}),` and `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/userToken`,children:_jsx(_components.code,{children:`userToken`})}),` parameters in the `,_jsx(_MdxComponentBoundary,{name:`SearchRequest`,children:_jsx(SearchRequest,{})}),`.\nHow you do this depends on your Algolia implementation and whether you use `,_jsx(_components.a,{href:`/doc/guides/building-search-ui/what-is-instantsearch/js`,children:`InstantSearch`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`You can also set `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/enablePersonalization`,children:_jsx(_components.code,{children:`enablePersonalization`})}),` in your `,_jsx(_MdxComponentBoundary,{name:`Index`,children:_jsx(Index,{})}),` settings instead of sending it as a search parameter.\nThis way, every search on your index uses Personalization.\nYou can override this at query time by setting the `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/enablePersonalization`,children:_jsx(_components.code,{children:`enablePersonalization`})}),` parameter to `,_jsx(_components.code,{children:`false`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`If you set `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/enablePersonalization`,children:_jsx(_components.code,{children:`enablePersonalization`})}),` as an index setting,\nyou still need to include a user’s `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/userToken`,children:_jsx(_components.code,{children:`userToken`})}),` in your search requests.\nIf you don’t include the `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/userToken`,children:_jsx(_components.code,{children:`userToken`})}),`,\nAlgolia doesn’t know which user’s `,_jsx(_MdxComponentBoundary,{name:`Affinity`,children:_jsx(Affinity,{})}),` profile to apply to personalize the results.`]}),`\n`,_jsx(Heading,{level:`2`,id:`enable-personalization-with-instantsearch`,children:`Enable Personalization with InstantSearch`}),`\n`,_jsxs(_components.p,{children:[`If you use `,_jsx(_components.a,{href:`/doc/guides/building-search-ui/what-is-instantsearch/js`,children:`InstantSearch`}),`,\nenable Personalization with the `,_jsx(_components.a,{href:`/doc/api-reference/widgets/configure/js`,children:_jsx(_components.code,{children:`configure`})}),` widget.\nThe `,_jsx(_components.a,{href:`/doc/api-reference/widgets/configure/js`,children:_jsx(_components.code,{children:`configure`})}),` widget lets you provide raw search parameters to the Algolia API without rendering anything.`]}),`\n`,_jsxs(_components.p,{children:[`Using the `,_jsx(_components.a,{href:`/doc/api-reference/widgets/configure/js`,children:_jsx(_components.code,{children:`configure`})}),` widget, you can set the `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/enablePersonalization`,children:_jsx(_components.code,{children:`enablePersonalization`})}),` to `,_jsx(_components.code,{children:`true`}),` and include the `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/userToken`,children:_jsx(_components.code,{children:`userToken`})}),`.\nThe `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/userToken`,children:_jsx(_components.code,{children:`userToken`})}),` should match the one you’re using to `,_jsx(_components.a,{href:`/doc/guides/sending-events/getting-started`,children:`send click and conversion events`}),` for a particular user.`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`JavaScript`,numberOfLines:`4`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`instantsearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`widgets`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`configure`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` enablePersonalization:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` userToken:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"user-1234\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Swift`,numberOfLines:`2`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`searcher.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`request`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`enablePersonalization`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`searcher.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`request`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`userToken`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` 'user`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1234`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`'`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Vue`,numberOfLines:`23`,language:`vue`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`vue`,children:_jsxs(_components.code,{language:`vue`,numberOfLines:`23`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`template`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`ais-instant-search`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` index-name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"instant_search\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` :search-client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"searchClient\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` >`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`ais-configure`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` :clickAnalytics`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"true\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` userToken`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-1234\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` />`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`ais-instant-search`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`template`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`liteClient`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` algoliasearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'algoliasearch/lite'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` export`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` default`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` data`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` searchClient:`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` algoliasearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'undefined'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'undefined'`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` };`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:` }`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`React`,numberOfLines:`10`,language:`jsx`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`jsx`,children:_jsxs(_components.code,{language:`jsx`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`liteClient`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` algoliasearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"algoliasearch/lite\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`InstantSearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"react-instantsearch-dom\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` searchClient`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` algoliasearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"undefined\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"undefined\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` App`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` () `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#4EC9B0`},children:`InstantSearch`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` indexName`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"instant_search\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` searchClient`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`searchClient`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#4EC9B0`},children:`Configure`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` enablePersonalization`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` userToken`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-1234\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` />`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#4EC9B0`},children:`InstantSearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Android`,numberOfLines:`2`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`searcher.query.query.enablePersonalization `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`searcher.query.userToken `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'user-1234'`})]}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[`For more information, see `,_jsx(_components.a,{href:`/doc/guides/sending-events/concepts/usertoken`,children:`User token`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`enable-personalization-using-api-clients`,children:`Enable Personalization using API clients`}),`\n`,_jsxs(_components.p,{children:[`If you’re using one of the API clients to make search requests,\nyou can include `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/enablePersonalization`,children:_jsx(_components.code,{children:`enablePersonalization`})}),` and `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/userToken`,children:_jsx(_components.code,{children:`userToken`})}),` as parameters.\nAdd them to the `,_jsx(_components.a,{href:`/doc/libraries/sdk/v1/methods/search`,children:_jsx(_components.code,{children:`search`})}),` method.\nThe `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/userToken`,children:_jsx(_components.code,{children:`userToken`})}),` should match the one you’re using to `,_jsx(_components.a,{href:`/doc/guides/sending-events/getting-started`,children:`send events`}),` for a particular user.`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`C#`,numberOfLines:`6`,language:`csharp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`csharp`,children:_jsxs(_components.code,{language:`csharp`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`SearchSingleIndexAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`Hit`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`>(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"INDEX_NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` SearchParams`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` SearchParamsObject`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`EnablePersonalization`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`UserToken`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"user-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Dart`,numberOfLines:`7`,language:`dart`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`dart`,children:_jsxs(_components.code,{language:`dart`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`final`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`searchSingleIndex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` indexName`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"INDEX_NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` searchParams`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` SearchParamsObject`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` enablePersonalization`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` userToken`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"user-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Go`,numberOfLines:`7`,language:`go`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`go`,children:_jsxs(_components.code,{language:`go`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`SearchSingleIndex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`NewApiSearchSingleIndexRequest`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"INDEX_NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`WithSearchParams`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`search`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`SearchParamsObjectAsSearchParams`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` search`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`NewEmptySearchParamsObject`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`SetEnablePersonalization`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`SetUserToken`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`))))`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` err`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` nil`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // handle the eventual error`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` panic`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Java`,numberOfLines:`5`,language:`java`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`java`,children:_jsxs(_components.code,{language:`java`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`SearchResponse`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`searchSingleIndex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"INDEX_NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` SearchParamsObject`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setEnablePersonalization`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setUserToken`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Hit`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`class`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`JavaScript`,numberOfLines:`4`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`searchSingleIndex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` indexName:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'indexName'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` searchParams:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`enablePersonalization:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`userToken:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'user-1'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Kotlin`,numberOfLines:`5`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`searchSingleIndex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` indexName `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"INDEX_NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` searchParams `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` SearchParamsObject`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(enablePersonalization `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, userToken `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"user-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`PHP`,numberOfLines:`6`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`searchSingleIndex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'INDEX_NAME'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'enablePersonalization'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'userToken'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'user-1'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`7`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.search_single_index(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` index_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"INDEX_NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` search_params`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"enablePersonalization\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"userToken\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Ruby`,numberOfLines:`4`,language:`ruby`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`ruby`,children:_jsxs(_components.code,{language:`ruby`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`search_single_index`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"INDEX_NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Algolia`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`::`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Search`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`::`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`SearchParamsObject`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`enable_personalization:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`user_token:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"user-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Scala`,numberOfLines:`12`,language:`scala`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`scala`,children:_jsxs(_components.code,{language:`scala`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`val`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.result(`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.searchSingleIndex(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` indexName `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"INDEX_NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` searchParams `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Some`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` SearchParamsObject`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` enablePersonalization `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Some`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` userToken `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Some`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Duration`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`100`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"sec\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Swift`,numberOfLines:`7`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` response: SearchResponse\u003cHit> `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` try`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`searchSingleIndex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` indexName`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"INDEX_NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` searchParams`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: SearchSearchParams.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`searchSearchParamsObject`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`SearchSearchParamsObject`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` userToken`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` enablePersonalization`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ))`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`enable-personalization-using-the-dashboard`,children:`Enable Personalization using the dashboard`}),`\n`,_jsxs(_components.p,{children:[`You can set `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/enablePersonalization`,children:_jsx(_components.code,{children:`enablePersonalization`})}),` as an index setting for the indices you want to personalize results for.\nThis setting automatically sets `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/enablePersonalization`,children:_jsx(_components.code,{children:`enablePersonalization`})}),_jsx(_components.code,{children:`:true`}),` for any search requests made on this index.\nIf you want to turn off Personalization at query time, include `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/enablePersonalization`,children:_jsx(_components.code,{children:`enablePersonalization`})}),_jsx(_components.code,{children:`:false`}),` on those search requests.`]}),`\n`,_jsxs(_components.p,{children:[`Go to `,_jsxs(_components.a,{href:`https://dashboard.algolia.com/explorer/`,children:[_jsx(_components.strong,{children:`Indices`}),` section of the dashboard`]}),` and then `,_jsx(_components.strong,{children:`Configuration`}),`\\xA0» `,_jsx(_components.strong,{children:`Relevance Essentials`}),`\\xA0» `,_jsx(_components.strong,{children:`Personalization`}),` for each index you want to enable Personalization on.\nHere, you can set `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/enablePersonalization`,children:_jsx(_components.code,{children:`enablePersonalization`})}),` to `,_jsx(_components.code,{children:`true`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Remember that unless you include a valid `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/userToken`,children:_jsx(_components.code,{children:`userToken`})}),`, the engine can’t personalize results.\n`,_jsxs(_components.strong,{children:[`Even if you enable Personalization on the dashboard, you still need to provide the `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/userToken`,children:_jsx(_components.code,{children:`userToken`})}),` using either InstantSearch or an API Client.`]})]}),`\n`,_jsxs(_components.p,{children:[`That’s why you don’t automatically see personalized results when testing queries in the `,_jsxs(_components.a,{href:`https://dashboard.algolia.com/explorer/`,children:[_jsx(_components.strong,{children:`Browse`}),` section`]}),`.\nThis happens on an index where you’ve enabled `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/enablePersonalization`,children:_jsx(_components.code,{children:`enablePersonalization`})}),` as an index setting.\nInstead of adding the `,_jsx(_components.a,{href:`/doc/api-reference/api-parameters/userToken`,children:_jsx(_components.code,{children:`userToken`})}),` by selecting `,_jsx(_components.strong,{children:`+Add Query Parameter`}),`,\nuse the `,_jsx(_components.a,{href:`/doc/guides/personalization/classic-personalization/personalizing-results/in-depth/configuring-personalization#simulating-personalization`,children:`Personalization simulator`}),`.\nThe simulator lets you compare personalized and non-personalized results, and explains how Personalization affected them.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{SearchRequest,Index,Affinity,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Enabling Personalization","description":"Learn how to enable Personalization with or without an InstantSearch implementation.","keywords":"ais-configure, ais-instant-search, searchSingleIndex","public":true,"subtype":"Guide","href":"/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Enable Personalization with InstantSearch","slug":"enable-personalization-with-instantsearch","depth":2,"children":[]},{"title":"Enable Personalization using API clients","slug":"enable-personalization-using-api-clients","depth":2,"children":[]},{"title":"Enable Personalization using the dashboard","slug":"enable-personalization-using-the-dashboard","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/algolia/34bdaaeaccaa769c/docsearch.js","/_mintlify/custom/algolia/e18afef8ba6306ba/one-trust.js","/_mintlify/custom/algolia/5a5e6ade8ff45aec/utm-attribution.js","/_mintlify/custom/algolia/a4b9f2f416e55759/iframe-resize.js","/_mintlify/custom/algolia/dbca34a8de6b147e/instantsearch-api-signature-links.js","/_mintlify/custom/algolia/4e6ff31277aab3f2/segment-analytics.js","/_mintlify/custom/algolia/ae5f1d742fc727f6/optinmonster.js"],"subdomain":"algolia","siteName":"Algolia","title":"Enabling Personalization - Algolia","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T09:30:16.073Z","gitLastModified":"2026-09-16T10:31:26.000Z","originalFileLocation":"doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how to enable Personalization with or without an InstantSearch implementation.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Algolia\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Enabling Personalization - Algolia\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to enable Personalization with or without an InstantSearch implementation.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Algolia\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.algolia.com/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://algolia.mintlify.site/_mintlify/api/og/v2?division=Going+to+production\u0026amp;title=Enabling+Personalization\u0026amp;description=Learn+how+to+enable+Personalization+with+or+without+an+InstantSearch+implementation.\u0026amp;theme=174d56e14f330de525287b70\u0026amp;signature=ee93407a2c84871e729b8dd08a76fcbc24e1ad2fee27fab656de511f3df9c26d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Enabling Personalization - Algolia\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to enable Personalization with or without an InstantSearch implementation.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://algolia.mintlify.site/_mintlify/api/og/v2?division=Going+to+production\u0026amp;title=Enabling+Personalization\u0026amp;description=Learn+how+to+enable+Personalization+with+or+without+an+InstantSearch+implementation.\u0026amp;theme=174d56e14f330de525287b70\u0026amp;signature=ee93407a2c84871e729b8dd08a76fcbc24e1ad2fee27fab656de511f3df9c26d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Algolia\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3970ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.algolia.com/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.algolia.com/#organization\",\"name\":\"Algolia\",\"url\":\"https://www.algolia.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/algolia/kiecJp3hu-WXhj-3/logo/light.svg?fit=max\u0026auto=format\u0026n=kiecJp3hu-WXhj-3\u0026q=85\u0026s=bf613e260ca94c0eb23384e6c0d5c77f\"},\"sameAs\":[\"https://www.linkedin.com/company/algolia/\",\"https://github.com/algolia\",\"https://x.com/algolia\",\"https://www.youtube.com/channel/UCTNkiq-SO8hay1PRx-it9Cw\"]},{\"@type\":\"WebSite\",\"@id\":\"https://www.algolia.com#website\",\"name\":\"Algolia\",\"url\":\"https://www.algolia.com\",\"publisher\":{\"@id\":\"https://www.algolia.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.algolia.com/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization#webpage\",\"url\":\"https://www.algolia.com/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization\",\"name\":\"Enabling Personalization\",\"description\":\"Learn how to enable Personalization with or without an InstantSearch implementation.\",\"dateModified\":\"2026-09-16T10:31:26.000Z\",\"isPartOf\":{\"@id\":\"https://www.algolia.com#website\"},\"breadcrumb\":{\"@id\":\"https://www.algolia.com/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.algolia.com/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Optimization and Personalization\",\"item\":\"https://www.algolia.com/doc/guides/algolia-recommend/upgrade/recommend-js\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Personalization\",\"item\":\"https://www.algolia.com/doc/guides/personalization/advanced-personalization/what-is-advanced-personalization/in-depth/how-does-advanced-personalization-work\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Classic Personalization\",\"item\":\"https://www.algolia.com/doc/guides/personalization/classic-personalization/what-is-personalization/in-depth/how-personalization-works\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Going to production\",\"item\":\"https://www.algolia.com/doc/guides/personalization/classic-personalization/going-to-production\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Enabling Personalization\",\"item\":\"https://www.algolia.com/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.algolia.com/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization#article\",\"headline\":\"Enabling Personalization\",\"name\":\"Enabling Personalization\",\"description\":\"Learn how to enable Personalization with or without an InstantSearch implementation.\",\"url\":\"https://www.algolia.com/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization\",\"mainEntityOfPage\":{\"@id\":\"https://www.algolia.com/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization#webpage\"},\"dateModified\":\"2026-09-16T10:31:26.000Z\",\"publisher\":{\"@id\":\"https://www.algolia.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.algolia.com#website\"}}]}\u003c/script>","siteName":"Algolia","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-text","groups":[{"group":" ","hidden":true,"searchable":true,"pages":[{"title":"Algolia documentation | Search API guides, SDK and developer docs","mode":"custom","href":"/doc"},{"title":"Algolia glossary","sidebarTitle":"Glossary","href":"/doc/glossary"}]},{"group":"Get started","icon":"zap","root":{"title":"Get started with Algolia","sidebarTitle":"Get started","href":"/doc/guides/get-started"},"pages":[{"title":"Build your first search experience","href":"/doc/guides/get-started/quickstart"},{"title":"Build with AI agents","href":"/doc/guides/get-started/build-with-ai"},{"title":"Understand the basics","href":"/doc/guides/get-started/concepts"}]},{"group":"Search and Discovery platform","icon":"search","pages":[{"group":"Send and manage data","pages":[{"group":"Prepare your data","root":{"title":"Prepare your records for indexing","sidebarTitle":"Overview","href":"/doc/guides/sending-and-managing-data/prepare-your-data"},"pages":[{"group":"How to","pages":[{"title":"Create nested attributes","href":"/doc/guides/sending-and-managing-data/prepare-your-data/how-to/creating-and-using-nested-attributes"},{"title":"Reduce record size","href":"/doc/guides/sending-and-managing-data/prepare-your-data/how-to/reducing-object-size"},{"title":"Handle data relationships","href":"/doc/guides/sending-and-managing-data/prepare-your-data/how-to/handling-data-relationships"},{"title":"Split long pages into smaller records","href":"/doc/guides/sending-and-managing-data/prepare-your-data/how-to/indexing-long-documents"},{"title":"Create parent-child relationships","href":"/doc/guides/sending-and-managing-data/prepare-your-data/how-to/parent-child-relationships"},{"title":"Structure ecommerce product records","href":"/doc/guides/sending-and-managing-data/prepare-your-data/how-to/ecommerce-records"},{"title":"Make measures and dimensions searchable","href":"/doc/guides/sending-and-managing-data/prepare-your-data/how-to/dimensional-data"}]},{"group":"In depth","pages":[{"title":"Prepare your index","href":"/doc/guides/sending-and-managing-data/prepare-your-data/in-depth/prepare-data-in-depth"},{"title":"Algolia records","href":"/doc/guides/sending-and-managing-data/prepare-your-data/in-depth/what-is-in-a-record"},{"title":"Data cleaning","href":"/doc/guides/sending-and-managing-data/prepare-your-data/in-depth/data-sanitization"}]}]},{"group":"Send and update your data","root":{"title":"Send and update your data","sidebarTitle":"Overview","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data"},"pages":[{"group":"Connectors","root":{"title":"Connectors","sidebarTitle":"Overview","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors"},"pages":[{"title":"JSON connector","sidebarTitle":"JSON","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/json"},{"title":"CSV connector","sidebarTitle":"CSV","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/csv"},{"title":"Google BigQuery connector","sidebarTitle":"BigQuery","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/bigquery"},{"title":"MySQL connector","sidebarTitle":"MySQL","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/mysql"},{"title":"Elasticsearch connector","sidebarTitle":"Elasticsearch","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/elasticsearch"},{"title":"Push to Algolia connector","sidebarTitle":"Push to Algolia","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/push"},{"title":"Supabase connector","sidebarTitle":"Supabase","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/supabase"}]},{"group":"How to","pages":[{"title":"Import data from the dashboard","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/importing-from-the-dashboard"},{"title":"Importing with the API","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/importing-with-the-api"},{"title":"Incremental updates","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/incremental-updates"},{"title":"Sending records in batches","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/sending-records-in-batches"},{"title":"Transform your data with code","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/transform-your-data-with-code"},{"title":"Transform your data without code","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/transform-your-data-without-code"},{"title":"Enrich your records with Fetch","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/enrich-your-records-with-fetch"},{"title":"Post-indexing transformations","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/post-indexing-transformations"},{"title":"AI-assisted transformations","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations"}]},{"group":"In depth","pages":[{"title":"Data synchronization strategies","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/in-depth/the-different-synchronization-strategies"},{"title":"Wait for indexing tasks","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/in-depth/index-operations-are-asynchronous"},{"title":"Handling concurrency with versioning","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/in-depth/handling-concurrency-with-versioning"}]}]},{"group":"Manage indices and apps","pages":[{"group":"Manage indices","root":{"title":"Manage indices","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices"},"pages":[{"title":"Export and import indices and settings","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/export-import-indices"},{"title":"Copy and move indices","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/copy-move-indices"},{"title":"Delete indices","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/delete-indices"},{"title":"Choosing between one or more indices","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/concepts/one-or-more-indices"},{"title":"Indices and analytics","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/concepts/indices-analytics"},{"title":"Generate a sitemap from an Algolia index","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/tutorial/generate-sitemap-from-index"}]},{"title":"Manage your Algolia applications","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-your-apps"}]}]},{"group":"Manage results","pages":[{"group":"Relevance overview","root":{"title":"Relevance overview","href":"/doc/guides/managing-results/relevance-overview"},"pages":[{"title":"The eight ranking criteria","href":"/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria"},{"title":"Relevance","href":"/doc/guides/managing-results/relevance-overview/in-depth/defining-relevance"},{"title":"Search is more than textual matching","href":"/doc/guides/managing-results/relevance-overview/in-depth/textual-matching"}]},{"group":"Essential steps","pages":[{"group":"Searchable attributes","root":{"title":"Searchable attributes","href":"/doc/guides/managing-results/must-do/searchable-attributes"},"pages":[{"title":"Configure searchable attributes the right way","href":"/doc/guides/managing-results/must-do/searchable-attributes/how-to/configuring-searchable-attributes-the-right-way"}]},{"group":"Custom ranking","root":{"title":"Custom ranking","href":"/doc/guides/managing-results/must-do/custom-ranking"},"pages":[{"title":"Create custom ranking attributes","href":"/doc/guides/managing-results/must-do/custom-ranking/how-to/configure-custom-ranking"},{"title":"Boost or penalize records","href":"/doc/guides/managing-results/must-do/custom-ranking/how-to/boost-or-penalize-some-records"},{"title":"Precision of custom ranking metrics","href":"/doc/guides/managing-results/must-do/custom-ranking/how-to/controlling-custom-ranking-metrics-precision"},{"title":"Bayesian averages in custom ranking","href":"/doc/guides/managing-results/must-do/custom-ranking/how-to/bayesian-average"},{"title":"Custom ranking of results per category","href":"/doc/guides/managing-results/must-do/custom-ranking/how-to/custom-ranking-per-category"}]}]},{"group":"Refine results","pages":[{"group":"Sorting results","pages":[{"title":"Sorting results","sidebarTitle":"Overview","href":"/doc/guides/managing-results/refine-results/sorting"},{"group":"How to","pages":[{"title":"Sort by attribute","href":"/doc/guides/managing-results/refine-results/sorting/how-to/sort-by-attribute"},{"title":"Sort an index by date","href":"/doc/guides/managing-results/refine-results/sorting/how-to/sort-an-index-by-date"},{"title":"Create a replica index","href":"/doc/guides/managing-results/refine-results/sorting/how-to/creating-replicas"},{"title":"Search in a replica index","href":"/doc/guides/managing-results/refine-results/sorting/how-to/search-in-a-replica-index"},{"title":"Rename replica indices","href":"/doc/guides/managing-results/refine-results/sorting/how-to/rename-a-replica-index"},{"title":"Manage multiple indices","href":"/doc/guides/managing-results/refine-results/sorting/how-to/set-settings-and-forward-to-replicas"},{"title":"UI sorting widgets","href":"/doc/guides/managing-results/refine-results/sorting/how-to/use-sorting-ui-widget"}]},{"group":"In depth","pages":[{"title":"Exhaustive sorting","href":"/doc/guides/managing-results/refine-results/sorting/in-depth/exhaustive-sort"},{"title":"Relevant sorting","href":"/doc/guides/managing-results/refine-results/sorting/in-depth/relevant-sort"},{"title":"Understanding replicas","href":"/doc/guides/managing-results/refine-results/sorting/in-depth/replicas"},{"title":"What is the effect of a replica on the number of records?","href":"/doc/guides/managing-results/refine-results/sorting/in-depth/replicas-impact-on-pricing"}]}]},{"group":"Faceting","root":{"title":"Faceting","sidebarTitle":"Overview","href":"/doc/guides/managing-results/refine-results/faceting"},"pages":[{"title":"How to declare attributes for faceting with the API","href":"/doc/guides/managing-results/refine-results/faceting/how-to/declaring-attributes-for-faceting"},{"title":"How to declare attributes for faceting in the dashboard","href":"/doc/guides/managing-results/refine-results/faceting/how-to/declaring-attributes-for-faceting-with-dashboard"}]},{"group":"Filtering","root":{"title":"Filtering","sidebarTitle":"Overview","href":"/doc/guides/managing-results/refine-results/filtering"},"pages":[{"title":"Filter by attributes","href":"/doc/guides/managing-results/refine-results/filtering/how-to/filter-by-attributes"},{"title":"Filters and boolean operators","href":"/doc/guides/managing-results/refine-results/filtering/in-depth/combining-boolean-operators"},{"title":"Filter scoring","href":"/doc/guides/managing-results/refine-results/filtering/in-depth/filter-scoring"},{"title":"Filters and arrays of objects","href":"/doc/guides/managing-results/refine-results/filtering/in-depth/arrays-of-objects"},{"title":"Filters and facet filters","href":"/doc/guides/managing-results/refine-results/filtering/in-depth/filters-and-facetfilters"}]},{"title":"Deduplicate results with distinct","href":"/doc/guides/managing-results/refine-results/grouping"},{"group":"Geo location","pages":[{"title":"Geo location","sidebarTitle":"Overview","href":"/doc/guides/managing-results/refine-results/geolocation"},{"title":"Filter results around a location","href":"/doc/guides/managing-results/refine-results/geolocation/how-to/filter-results-around-a-location"},{"title":"Filter results inside a rectangle","href":"/doc/guides/managing-results/refine-results/geolocation/how-to/filter-results-inside-a-rectangle-area"},{"title":"Filter results inside a polygon","href":"/doc/guides/managing-results/refine-results/geolocation/how-to/filter-results-inside-a-polygonal-area"},{"title":"Geo ranking information","href":"/doc/guides/managing-results/refine-results/geolocation/how-to/geo-ranking-info"},{"title":"How to solve the 180th meridian issue","href":"/doc/guides/managing-results/refine-results/geolocation/how-to/how-to-resolve-180-meridian-issue"},{"title":"Geographical ranking precision","href":"/doc/guides/managing-results/refine-results/geolocation/in-depth/geo-ranking-precision"}]}]},{"group":"Rules","pages":[{"group":"Rules overview","root":{"title":"Rules overview","sidebarTitle":"Overview","href":"/doc/guides/managing-results/rules/rules-overview"},"pages":[{"title":"Implement rules","href":"/doc/guides/managing-results/rules/rules-overview/in-depth/implementing-rules"},{"title":"Add default search parameters with rules","href":"/doc/guides/managing-results/rules/rules-overview/how-to/add-default-search-parameters-with-rules"},{"title":"Customize search results by device","href":"/doc/guides/managing-results/rules/rules-overview/how-to/customize-search-results-by-platform"},{"title":"Rules matching algorithm","href":"/doc/guides/managing-results/rules/rules-overview/in-depth/rule-matching-algorithm"},{"title":"Debug rules","href":"/doc/guides/managing-results/rules/rules-overview/in-depth/debugging-rules"}]},{"group":"Detect intent","pages":[{"title":"Detect intent","sidebarTitle":"Overview","href":"/doc/guides/managing-results/rules/detecting-intent"},{"title":"Add filters based on the query","href":"/doc/guides/managing-results/rules/detecting-intent/how-to/applying-a-custom-filter-for-a-specific-query"},{"title":"Dynamic filtering with Rules","href":"/doc/guides/managing-results/rules/detecting-intent/how-to/applying-a-filter-if-the-query-match-a-facet-value"},{"title":"Enhance search results with query-based rules","href":"/doc/guides/managing-results/rules/detecting-intent/how-to/applying-search-parameters-for-a-specific-query"},{"title":"Detect keywords","href":"/doc/guides/managing-results/rules/detecting-intent/how-to/detecting-keywords"}]},{"group":"Merchandising","root":{"title":"Merchandising","sidebarTitle":"Overview","href":"/doc/guides/managing-results/rules/merchandising-and-promoting"},"pages":[{"title":"Promote results with rules","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/promote-hits"},{"title":"Keep pinned items together with pin blocks","sidebarTitle":"Pin blocks","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/pin-blocks"},{"title":"Hide results with rules","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/how-to-hide-hits"},{"title":"Promote records with optional filters","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/how-to-promote-with-optional-filters"},{"title":"Redirect searches to a URL","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/redirects"},{"title":"Add banners","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/add-banners"},{"title":"Merchandise on empty queries","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/merchandise-on-empty-query"},{"title":"Multiple consequences","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/combining-multiple-consequences"},{"title":"Merchandise category pages","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/merchandising-category-pages"},{"title":"Merchandise facets","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/merchandising-facets"},{"title":"Add search parameters with JSON","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/rules-query-parameters"},{"title":"Optional filters","href":"/doc/guides/managing-results/rules/merchandising-and-promoting/in-depth/optional-filters"}]}]},{"group":"Optimize search results","pages":[{"group":"Synonyms","pages":[{"title":"Synonyms","sidebarTitle":"Overview","href":"/doc/guides/managing-results/optimize-search-results/adding-synonyms"},{"title":"Manage synonyms in the dashboard","href":"/doc/guides/managing-results/optimize-search-results/adding-synonyms/how-to/managing-synonyms-from-the-dashboard"}]},{"group":"Typo tolerance","root":{"title":"Typo tolerance","sidebarTitle":"Overview","href":"/doc/guides/managing-results/optimize-search-results/typo-tolerance"},"pages":[{"title":"Prevent typosquatting","href":"/doc/guides/managing-results/optimize-search-results/typo-tolerance/how-to/how-to-prevent-typosquatting"},{"title":"Search in hyphenated attributes","href":"/doc/guides/managing-results/optimize-search-results/typo-tolerance/how-to/how-to-search-in-hyphenated-attributes"},{"title":"Configure typo tolerance","href":"/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance"}]},{"group":"Natural languages","pages":[{"title":"Natural languages","sidebarTitle":"Overview","href":"/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp"},{"group":"How to","pages":[{"title":"Multilingual search","href":"/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/multilingual-search"},{"title":"Set an index's query language","href":"/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/how-to-set-an-index-query-language"},{"title":"Customize stop words","href":"/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/customize-stop-words"},{"title":"Customize plurals and other declensions","href":"/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/customize-plurals-and-other-declensions"},{"title":"Customize word segmentation","href":"/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/customize-segmentation"}]},{"group":"In depth","pages":[{"title":"Language-specific configurations","href":"/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations"},{"title":"Normalization","href":"/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization"},{"title":"Tokenization","href":"/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/tokenization"},{"title":"Splitting and concatenation","href":"/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/splitting-and-concatenation"},{"title":"Supported languages","href":"/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages"}]}]},{"group":"Empty or insufficient results","root":{"title":"Empty or insufficient results","href":"/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results"},"pages":[{"title":"Improve results by removing less-important words","href":"/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/in-depth/why-use-remove-words-if-no-results"}]},{"group":"Override engine defaults","pages":[{"title":"Override Algolia defaults","sidebarTitle":"Overview","href":"/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults"},{"title":"Match queries in the middle or end of words","href":"/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/how-to/how-can-i-make-queries-within-the-middle-of-a-word"},{"title":"Prefix search","href":"/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/prefix-searching"},{"title":"Adjusting the Exact criterion","href":"/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings"}]}]},{"group":"Troubleshooting","pages":[{"title":"Troubleshooting search","href":"/doc/guides/managing-results/troubleshooting/troubleshooting-search"},{"title":"Troubleshooting relevance","href":"/doc/guides/managing-results/troubleshooting/troubleshooting-relevance"}]}]},{"group":"Compose results","root":{"title":"Compositions","href":"/doc/guides/compositions"},"pages":[{"group":"Solutions","pages":[{"group":"Search","pages":[{"title":"Place sponsored products in search results","sidebarTitle":"Sponsored products","href":"/doc/guides/compositions/solutions/search/sponsored-products"},{"title":"Federated search with multifeed compositions","sidebarTitle":"Federated search","href":"/doc/guides/compositions/solutions/search/federated-search"}]}]},{"group":"Building blocks","pages":[{"group":"Smart Groups","root":{"title":"Smart Groups","href":"/doc/guides/compositions/smart-groups/smart-groups"},"pages":[{"group":"Group types","pages":[{"title":"Search-based groups","href":"/doc/guides/compositions/smart-groups/search-based-groups"},{"title":"Native retail media orchestration","href":"/doc/guides/compositions/smart-groups/native-rmn-orchestration"},{"title":"External source groups","href":"/doc/guides/compositions/smart-groups/external-source-groups"},{"title":"Recommend-based groups","href":"/doc/guides/compositions/smart-groups/recommend-based-groups"}]}]}]},{"group":"Configure","pages":[{"title":"Return multiple result sets with multifeed compositions","sidebarTitle":"Multifeed compositions","href":"/doc/guides/compositions/multifeed-compositions"},{"title":"Choose how to deduplicate results","href":"/doc/guides/compositions/smart-groups/deduplication-strategy"},{"title":"Sort organic results","href":"/doc/guides/compositions/sorting-strategy"}]}]},{"group":"AI relevance","pages":[{"title":"Dynamic Facets","href":"/doc/guides/algolia-ai/dynamic-facets"},{"title":"AI Synonyms","href":"/doc/guides/algolia-ai/dynamic-synonym-suggestions"},{"group":"Dynamic Re-Ranking","root":{"title":"Dynamic Re-Ranking","href":"/doc/guides/algolia-ai/re-ranking"},"pages":[{"title":"Enable Dynamic Re-Ranking on category pages","href":"/doc/guides/algolia-ai/re-ranking/tutorials/re-rank-category-pages"}]},{"group":"NeuralSearch","pages":[{"title":"Get started with NeuralSearch","sidebarTitle":"Get started","href":"/doc/guides/ai-relevance/neuralsearch/get-started"},{"title":"Adaptive Intent","href":"/doc/guides/ai-relevance/neuralsearch/adaptive-intent"},{"title":"NeuralSearch A/B testing","sidebarTitle":"A/B testing","href":"/doc/guides/ai-relevance/neuralsearch/ab-testing"},{"title":"NeuralSearch limits and unsupported features","sidebarTitle":"Limitations","href":"/doc/guides/ai-relevance/neuralsearch/limitations"},{"title":"Manage model training preferences","sidebarTitle":"Model training preferences","href":"/doc/guides/ai-relevance/neuralsearch/model-training"}]},{"title":"Query Categorization","href":"/doc/guides/algolia-ai/query-categorization"},{"title":"Optimize search settings with AI Assist","href":"/doc/guides/algolia-ai/optimize-search-settings"}]},{"group":"Build Search UI","pages":[{"group":"InstantSearch.js","pages":[{"title":"What is InstantSearch.js?","href":"/doc/guides/building-search-ui/what-is-instantsearch/js"},{"title":"How to install InstantSearch.js","sidebarTitle":"Installation","href":"/doc/guides/building-search-ui/installation/js"},{"sidebarTitle":"Quickstart","title":"Get started with InstantSearch.js","href":"/doc/guides/building-search-ui/getting-started/js"},{"sidebarTitle":"Click and conversion events","title":"Send click and conversion events with InstantSearch.js","href":"/doc/guides/building-search-ui/events/js"},{"title":"Styling and theming","href":"/doc/guides/building-search-ui/styling/js"},{"sidebarTitle":"Upgrade","title":"Upgrade InstantSearch.js","href":"/doc/guides/building-search-ui/upgrade-guides/js"},{"group":"Widgets","pages":[{"title":"Showcase for InstantSearch.js widgets","sidebarTitle":"Widgets showcase","mode":"wide","href":"/doc/guides/building-search-ui/widgets/showcase/js"},{"title":"Customize existing widgets","href":"/doc/guides/building-search-ui/widgets/customize-an-existing-widget/js"},{"title":"Create your own widgets","href":"/doc/guides/building-search-ui/widgets/create-your-own-widgets/js"},{"sidebarTitle":"Change browser defaults for custom search inputs","title":"Change browser defaults for InstantSearch.js","href":"/doc/guides/building-search-ui/widgets/disabling-default-browser-behavior/js"}]},{"group":"UI \u0026 UX patterns","pages":[{"group":"Autocomplete","pages":[{"title":"Autocomplete","sidebarTitle":"Overview","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/autocomplete/js"},{"title":"Build a Query Suggestions UI","sidebarTitle":"Query Suggestions","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/autocomplete/query-suggestions/js"},{"title":"Federated two-column autocomplete","sidebarTitle":"Federated search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/autocomplete/examples/federated/js"},{"title":"Build a mentions text box","sidebarTitle":"Mentions text box","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/autocomplete/examples/mentions/js"}]},{"title":"Multi-index search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/multi-index-search/js"},{"title":"Query Suggestions","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/query-suggestions/js"},{"sidebarTitle":"Highlighting and snippeting","title":"Highlighting in InstantSearch.js","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/js"},{"title":"Pagination","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js"},{"sidebarTitle":"Infinite scroll","title":"Infinite scroll with InstantSearch.js","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/infinite-scroll/js"},{"title":"Geo search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/geo-search/js"},{"sidebarTitle":"Recommendations","title":"Recommendations in InstantSearch.js","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/recommend/js"},{"sidebarTitle":"OpenSearch protocol","title":"Implement the OpenSearch protocol with InstantSearch.js","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/opensearch/js"},{"sidebarTitle":"Redirects","title":"Redirects in InstantSearch.js","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/redirects/js"},{"sidebarTitle":"Structured results","title":"Structured results in InstantSearch.js","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/structured-results/js"},{"title":"Facet display","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/js"},{"title":"Facet drop-down menus","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/facet-dropdown/js"},{"sidebarTitle":"Loading indicator","title":"Loading indicator with InstantSearch.js","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/loading-indicator/js"}]},{"group":"Going further","pages":[{"sidebarTitle":"Conditional display","title":"Conditional display in InstantSearch.js","href":"/doc/guides/building-search-ui/going-further/conditional-display/js"},{"sidebarTitle":"Conditional requests","title":"Conditional requests with InstantSearch.js","href":"/doc/guides/building-search-ui/going-further/conditional-requests/js"},{"sidebarTitle":"API keys/security","title":"Secured API keys in InstantSearch.js","href":"/doc/guides/building-search-ui/going-further/api-keys-security/js"},{"sidebarTitle":"Routing URLs","title":"Routing and URL syncing in InstantSearch.js","href":"/doc/guides/building-search-ui/going-further/routing-urls/js"},{"title":"Integrate Google Analytics","href":"/doc/guides/building-search-ui/going-further/integrate-google-analytics/js"},{"title":"Improve performance","href":"/doc/guides/building-search-ui/going-further/improve-performance/js"},{"sidebarTitle":"Optimize search requests","title":"Optimize InstantSearch.js search requests","href":"/doc/guides/building-search-ui/going-further/optimize-search-request-usage/js"},{"group":"Backend search","pages":[{"title":"Backend search with InstantSearch.js","sidebarTitle":"Overview","href":"/doc/guides/building-search-ui/going-further/backend-search/js"},{"title":"Understand the API response","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/understanding-the-api-response/js"},{"title":"Implement backend search with InstantSearch.js","sidebarTitle":"Backend search with InstantSearch","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-instantsearch/js"},{"title":"Backend search with an API client","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-search-with-an-api-client/js"}]},{"title":"Access state outside the lifecycle","href":"/doc/guides/building-search-ui/going-further/access-state-outside-lifecycle/js"},{"sidebarTitle":"Server-side rendering","title":"Dynamic rendering with InstantSearch.js","href":"/doc/guides/building-search-ui/going-further/server-side-rendering/js"},{"sidebarTitle":"Automatic filtering","title":"Turn off automatic filtering in InstantSearch.js","href":"/doc/guides/building-search-ui/going-further/automatic-filtering/js"},{"title":"Using InstantSearch.js on mobile","sidebarTitle":"Native","href":"/doc/guides/building-search-ui/going-further/native/js"},{"group":"Customize chat","pages":[{"sidebarTitle":"AI search experience","title":"Build an AI-powered search experience","href":"/doc/guides/building-search-ui/going-further/chat-customization/ai-search-experience/js"},{"sidebarTitle":"Loader content","title":"Customize the chat loader","href":"/doc/guides/building-search-ui/going-further/chat-customization/loading-message/js"},{"sidebarTitle":"Loader behavior","title":"Control when and where the chat loader shows","href":"/doc/guides/building-search-ui/going-further/chat-customization/loader-behavior/js"},{"sidebarTitle":"Results carousel","title":"Customize the chat results carousel","href":"/doc/guides/building-search-ui/going-further/chat-customization/results-carousel/js"},{"sidebarTitle":"Welcome screen","title":"Show starter prompts on the chat welcome screen","href":"/doc/guides/building-search-ui/going-further/chat-customization/welcome-screen/js"}]}]},{"group":"Resources","pages":[{"sidebarTitle":"UI Design Kit","title":"UI Design Kit (Figma)","href":"/doc/guides/building-search-ui/resources/ui-kit/js"},{"sidebarTitle":"Demos","title":"UI examples for InstantSearch.js","href":"/doc/guides/building-search-ui/resources/demos/js"},{"title":"SEO checklist","href":"/doc/guides/building-search-ui/resources/seo/js"}]}]},{"group":"React InstantSearch","pages":[{"title":"What is React InstantSearch?","href":"/doc/guides/building-search-ui/what-is-instantsearch/react"},{"title":"Install React InstantSearch","sidebarTitle":"Installation","href":"/doc/guides/building-search-ui/installation/react"},{"sidebarTitle":"Quickstart","title":"Get started with React InstantSearch","href":"/doc/guides/building-search-ui/getting-started/react"},{"sidebarTitle":"Click and conversion events","title":"Send click and conversion events with React InstantSearch","href":"/doc/guides/building-search-ui/events/react"},{"title":"Styling and theming","href":"/doc/guides/building-search-ui/styling/react"},{"sidebarTitle":"Upgrade guide","title":"Upgrade React InstantSearch","href":"/doc/guides/building-search-ui/upgrade-guides/react"},{"group":"Widgets","pages":[{"title":"Showcase for React InstantSearch widgets","sidebarTitle":"Widget showcase","mode":"wide","href":"/doc/guides/building-search-ui/widgets/showcase/react"},{"title":"Customize existing widgets","href":"/doc/guides/building-search-ui/widgets/customize-an-existing-widget/react"},{"title":"Create your own widgets","href":"/doc/guides/building-search-ui/widgets/create-your-own-widgets/react"},{"sidebarTitle":"Show and hide widgets","title":"Show and hide React InstantSearch widgets","href":"/doc/guides/building-search-ui/widgets/show-and-hide-widgets/react"},{"title":"Change browser defaults","href":"/doc/guides/building-search-ui/widgets/disabling-default-browser-behavior/react"}]},{"group":"UI \u0026 UX patterns","pages":[{"group":"Autocomplete","pages":[{"title":"Autocomplete","sidebarTitle":"Overview","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/autocomplete/react"},{"title":"Build a Query Suggestions UI","sidebarTitle":"Query Suggestions","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/autocomplete/query-suggestions/react"},{"title":"Federated two-column autocomplete","sidebarTitle":"Federated search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/autocomplete/examples/federated/react"},{"title":"Build a mentions text box","sidebarTitle":"Mentions text box","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/autocomplete/examples/mentions/react"}]},{"title":"Multi-index search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/multi-index-search/react"},{"title":"Query Suggestions","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/query-suggestions/react"},{"title":"Highlighting and snippeting","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/react"},{"title":"Pagination","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/react"},{"title":"Infinite scroll with React InstantSearch","sidebarTitle":"Infinite scroll","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/infinite-scroll/react"},{"title":"Geo search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/geo-search/react"},{"title":"Recommendations","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/recommend/react"},{"sidebarTitle":"OpenSearch protocol","title":"Implement the OpenSearch protocol with React InstantSearch","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/opensearch/react"},{"title":"Redirects","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/redirects/react"},{"title":"Structured results","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/structured-results/react"},{"title":"Facet display","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/react"},{"title":"Facet drop-down menus","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/facet-dropdown/react"},{"title":"Loading indicator","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/loading-indicator/react"}]},{"group":"Going further","pages":[{"title":"Conditional display","href":"/doc/guides/building-search-ui/going-further/conditional-display/react"},{"title":"Conditional requests","href":"/doc/guides/building-search-ui/going-further/conditional-requests/react"},{"title":"Secured API keys","href":"/doc/guides/building-search-ui/going-further/api-keys-security/react"},{"sidebarTitle":"Routing URLs","title":"Routing and URL syncing in React InstantSearch","href":"/doc/guides/building-search-ui/going-further/routing-urls/react"},{"title":"Integrate Google Analytics","href":"/doc/guides/building-search-ui/going-further/integrate-google-analytics/react"},{"title":"Improve performance","href":"/doc/guides/building-search-ui/going-further/improve-performance/react"},{"title":"Optimize search requests","href":"/doc/guides/building-search-ui/going-further/optimize-search-request-usage/react"},{"group":"Backend search","pages":[{"title":"Backend search with React InstantSearch","sidebarTitle":"Overview","href":"/doc/guides/building-search-ui/going-further/backend-search/react"},{"title":"Understand the API response","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/understanding-the-api-response/react"},{"title":"Implement backend search with React InstantSearch","sidebarTitle":"Backend search with InstantSearch","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-instantsearch/react"},{"title":"Backend search with an API client","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-search-with-an-api-client/react"}]},{"title":"React Native","href":"/doc/guides/building-search-ui/going-further/native/react"},{"title":"Server-side rendering","href":"/doc/guides/building-search-ui/going-further/server-side-rendering/react"},{"sidebarTitle":"Automatic filtering","title":"Turn off automatic filtering in React InstantSearch","href":"/doc/guides/building-search-ui/going-further/automatic-filtering/react"},{"group":"Customize chat","pages":[{"sidebarTitle":"AI search experience","title":"Build an AI-powered search experience","href":"/doc/guides/building-search-ui/going-further/chat-customization/ai-search-experience/react"},{"sidebarTitle":"Legal notice","title":"Add a legal notice to the chat widget","href":"/doc/guides/building-search-ui/going-further/chat-customization/legal-notice/react"},{"sidebarTitle":"Loader content","title":"Customize the chat loader","href":"/doc/guides/building-search-ui/going-further/chat-customization/loading-message/react"},{"sidebarTitle":"Loader behavior","title":"Control when and where the chat loader shows","href":"/doc/guides/building-search-ui/going-further/chat-customization/loader-behavior/react"},{"sidebarTitle":"Results carousel","title":"Customize the chat results carousel","href":"/doc/guides/building-search-ui/going-further/chat-customization/results-carousel/react"},{"sidebarTitle":"Welcome screen","title":"Show starter prompts on the chat welcome screen","href":"/doc/guides/building-search-ui/going-further/chat-customization/welcome-screen/react"}]}]},{"group":"Resources","pages":[{"sidebarTitle":"UI Design Kit","title":"UI Design Kit (Figma)","href":"/doc/guides/building-search-ui/resources/ui-kit/react"},{"sidebarTitle":"Demos","title":"UI examples for React InstantSearch","href":"/doc/guides/building-search-ui/resources/demos/react"},{"title":"SEO checklist","href":"/doc/guides/building-search-ui/resources/seo/react"}]}]},{"group":"Vue InstantSearch","pages":[{"title":"What is Vue InstantSearch?","href":"/doc/guides/building-search-ui/what-is-instantsearch/vue"},{"title":"How to install Vue InstantSearch","sidebarTitle":"Installation","href":"/doc/guides/building-search-ui/installation/vue"},{"sidebarTitle":"Quickstart","title":"Get started with Vue InstantSearch","href":"/doc/guides/building-search-ui/getting-started/vue"},{"sidebarTitle":"Click and conversion events","title":"Send click and conversion events with Vue InstantSearch","href":"/doc/guides/building-search-ui/events/vue"},{"title":"Styling and theming","href":"/doc/guides/building-search-ui/styling/vue"},{"sidebarTitle":"Upgrade","title":"Upgrade Vue InstantSearch","href":"/doc/guides/building-search-ui/upgrade-guides/vue"},{"group":"Widgets","pages":[{"title":"Showcase for Vue InstantSearch widgets","sidebarTitle":"Widget showcase","mode":"wide","href":"/doc/guides/building-search-ui/widgets/showcase/vue"},{"title":"Customize existing widgets","href":"/doc/guides/building-search-ui/widgets/customize-an-existing-widget/vue"},{"title":"Create your widgets","href":"/doc/guides/building-search-ui/widgets/create-your-own-widgets/vue"},{"title":"Show and hide widgets","href":"/doc/guides/building-search-ui/widgets/show-and-hide-widgets/vue"},{"sidebarTitle":"Change browser defaults for custom search inputs","title":"Change browser defaults for Vue InstantSearch","href":"/doc/guides/building-search-ui/widgets/disabling-default-browser-behavior/vue"}]},{"group":"UI \u0026 UX patterns","pages":[{"title":"Autocomplete","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/autocomplete/vue"},{"title":"Multi-index search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/multi-index-search/vue"},{"group":"Query Suggestions","root":{"title":"Query Suggestions","sidebarTitle":"Overview","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/query-suggestions/vue"},"pages":[{"title":"Build a Query Suggestions UI","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/query-suggestions/tutorials/building-query-suggestions-ui/vue"}]},{"sidebarTitle":"Highlighting and snippeting","title":"Highlighting in Vue InstantSearch","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/vue"},{"title":"Pagination","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/vue"},{"sidebarTitle":"Infinite scroll","title":"Infinite scroll with Vue InstantSearch","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/infinite-scroll/vue"},{"title":"Geo search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/geo-search/vue"},{"sidebarTitle":"OpenSearch protocol","title":"Implement the OpenSearch protocol with Vue InstantSearch","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/opensearch/vue"},{"sidebarTitle":"Redirects","title":"Redirects in Vue InstantSearch","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/redirects/vue"},{"sidebarTitle":"Structured results","title":"Structured results in Vue InstantSearch","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/structured-results/vue"},{"title":"Facet display","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/vue"},{"sidebarTitle":"Loading indicator","title":"Loading indicator with Vue InstantSearch","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/loading-indicator/vue"}]},{"group":"Going further","pages":[{"sidebarTitle":"Conditional display","title":"Conditional display in Vue InstantSearch","href":"/doc/guides/building-search-ui/going-further/conditional-display/vue"},{"sidebarTitle":"Conditional requests","title":"Conditional requests with Vue InstantSearch","href":"/doc/guides/building-search-ui/going-further/conditional-requests/vue"},{"sidebarTitle":"API keys/security","title":"Secured API keys in Vue InstantSearch","href":"/doc/guides/building-search-ui/going-further/api-keys-security/vue"},{"sidebarTitle":"Routing URLs","title":"Routing and URL syncing in Vue InstantSearch","href":"/doc/guides/building-search-ui/going-further/routing-urls/vue"},{"title":"Integrate Google Analytics","href":"/doc/guides/building-search-ui/going-further/integrate-google-analytics/vue"},{"sidebarTitle":"Improve performance","title":"Improve performance for Vue InstantSearch","href":"/doc/guides/building-search-ui/going-further/improve-performance/vue"},{"sidebarTitle":"Optimize search requests","title":"Optimize Vue InstantSearch search requests","href":"/doc/guides/building-search-ui/going-further/optimize-search-request-usage/vue"},{"group":"Backend search","pages":[{"title":"Backend search with Vue InstantSearch","sidebarTitle":"Overview","href":"/doc/guides/building-search-ui/going-further/backend-search/vue"},{"title":"Understand the API response","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/understanding-the-api-response/vue"},{"title":"Implement backend search with Vue InstantSearch","sidebarTitle":"Backend search with InstantSearch","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-instantsearch/vue"},{"title":"Backend search with an API client","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-search-with-an-api-client/vue"}]},{"title":"Use Vue InstantSearch with mobile frameworks","sidebarTitle":"Native","href":"/doc/guides/building-search-ui/going-further/native/vue"},{"title":"Server-side rendering","href":"/doc/guides/building-search-ui/going-further/server-side-rendering/vue"}]},{"group":"Resources","pages":[{"sidebarTitle":"UI Design Kit","title":"UI Design Kit (Figma)","href":"/doc/guides/building-search-ui/resources/ui-kit/vue"},{"sidebarTitle":"Demos","title":"UI examples for Vue InstantSearch","href":"/doc/guides/building-search-ui/resources/demos/vue"},{"title":"SEO checklist","href":"/doc/guides/building-search-ui/resources/seo/vue"}]}]},{"group":"With Angular","pages":[{"sidebarTitle":"Get started","title":"Get started with InstantSearch.js in Angular","href":"/doc/guides/building-search-ui/getting-started/angular"}]},{"group":"InstantSearch iOS","pages":[{"title":"What is InstantSearch iOS","href":"/doc/guides/building-search-ui/what-is-instantsearch/ios"},{"title":"Install InstantSearch iOS","sidebarTitle":"Installation","href":"/doc/guides/building-search-ui/installation/ios"},{"group":"Get started","root":{"title":"Get started with InstantSearch iOS","sidebarTitle":"Get started","href":"/doc/guides/building-search-ui/getting-started/ios"},"pages":[{"title":"Get started programmatically","href":"/doc/guides/building-search-ui/getting-started/how-to/programmatically/ios"},{"title":"Get started with SwiftUI","href":"/doc/guides/building-search-ui/getting-started/how-to/declarative/ios"}]},{"sidebarTitle":"Click and conversion events","title":"Send click and conversion events with InstantSearch iOS","href":"/doc/guides/building-search-ui/events/ios"},{"sidebarTitle":"Upgrade","title":"Upgrading InstantSearch iOS","href":"/doc/guides/building-search-ui/upgrade-guides/ios"},{"group":"Widgets","pages":[{"sidebarTitle":"Widgets showcase","title":"Showcase for InstantSearch iOS widgets","href":"/doc/guides/building-search-ui/widgets/showcase/ios"},{"title":"Customize existing widgets","href":"/doc/guides/building-search-ui/widgets/customize-an-existing-widget/ios"},{"title":"Create your own widgets","href":"/doc/guides/building-search-ui/widgets/create-your-own-widgets/ios"}]},{"group":"UI \u0026 UX patterns","pages":[{"sidebarTitle":"Autocomplete","title":"Build an autocomplete with InstantSearch iOS","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/autocomplete/ios"},{"title":"Multi-index search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/multi-index-search/ios"},{"group":"Query Suggestions","root":{"title":"Query Suggestions","sidebarTitle":"Overview","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/query-suggestions/ios"},"pages":[{"title":"Build a Query Suggestions UI","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/query-suggestions/tutorials/building-query-suggestions-ui/ios"},{"title":"Build a Query Suggestions UI with UIKit","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/query-suggestions/tutorials/building-query-suggestions-ui/programatically/ios"},{"title":"Build a Query Suggestions UI with SwiftUI","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/query-suggestions/tutorials/building-query-suggestions-ui/declarative/ios"}]},{"title":"Highlighting and snippeting","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/ios"},{"title":"Pagination","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/ios"},{"title":"Infinite scroll with InstantSearch iOS","sidebarTitle":"Infinite scroll","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/infinite-scroll/ios"},{"title":"Geo search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/geo-search/ios"},{"title":"Sorting refinements","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/sorting-refinements/ios"},{"sidebarTitle":"Filtering patterns","title":"Filtering patterns for InstantSearch iOS","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/filtering-patterns/ios"},{"title":"Redirects","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/redirects/ios"},{"title":"Facet display","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/ios"},{"title":"Voice search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/voice-search/ios"}]},{"group":"Going further","pages":[{"sidebarTitle":"Conditional display","title":"Conditional display in InstantSearch iOS","href":"/doc/guides/building-search-ui/going-further/conditional-display/ios"},{"title":"Conditional requests","href":"/doc/guides/building-search-ui/going-further/conditional-requests/ios"},{"title":"Secured API keys","href":"/doc/guides/building-search-ui/going-further/api-keys-security/ios"},{"sidebarTitle":"Improve performance","title":"Improve performance for InstantSearch iOS","href":"/doc/guides/building-search-ui/going-further/improve-performance/ios"},{"title":"Optimize search requests","href":"/doc/guides/building-search-ui/going-further/optimize-search-request-usage/ios"},{"group":"Backend search","pages":[{"title":"Backend search with InstantSearch iOS","sidebarTitle":"Overview","href":"/doc/guides/building-search-ui/going-further/backend-search/ios"},{"title":"Understand the API response","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/understanding-the-api-response/ios"},{"title":"Implement backend search with InstantSearch on iOS","sidebarTitle":"Backend search with InstantSearch","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-instantsearch/ios"},{"title":"Backend search with an API client","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-search-with-an-api-client/ios"}]},{"title":"Telemetry","href":"/doc/guides/building-search-ui/going-further/telemetry/ios"}]},{"group":"Resources","pages":[{"sidebarTitle":"UI Design Kit","title":"UI Design Kit (Figma)","href":"/doc/guides/building-search-ui/resources/ui-kit/ios"},{"sidebarTitle":"Demos","title":"UI examples for InstantSearch iOS","href":"/doc/guides/building-search-ui/resources/demos/ios"},{"title":"Privacy manifests","href":"/doc/guides/building-search-ui/resources/privacy-manifest/ios"}]}]},{"group":"InstantSearch Android","pages":[{"title":"What is InstantSearch Android?","href":"/doc/guides/building-search-ui/what-is-instantsearch/android"},{"title":"How to install InstantSearch Android","sidebarTitle":"Installation","href":"/doc/guides/building-search-ui/installation/android"},{"group":"Get started","root":{"title":"Get started with InstantSearch Android","sidebarTitle":"Get started","href":"/doc/guides/building-search-ui/getting-started/android"},"pages":[{"title":"Get started with imperative UI","href":"/doc/guides/building-search-ui/getting-started/how-to/programmatically/android"},{"title":"Get started with declarative UI","href":"/doc/guides/building-search-ui/getting-started/how-to/declarative/android"}]},{"sidebarTitle":"Click and conversion events","title":"Send click and conversion events with InstantSearch Android","href":"/doc/guides/building-search-ui/events/android"},{"sidebarTitle":"Upgrade guide","title":"Upgrading InstantSearch Android","href":"/doc/guides/building-search-ui/upgrade-guides/android"},{"group":"Widgets","pages":[{"sidebarTitle":"Widget showcase","title":"Showcase for InstantSearch Android widgets","href":"/doc/guides/building-search-ui/widgets/showcase/android"},{"sidebarTitle":"Customize an existing widget","title":"Customize an InstantSearch Android widget","href":"/doc/guides/building-search-ui/widgets/customize-an-existing-widget/android"},{"sidebarTitle":"Create your own widgets","title":"Create your own InstantSearch Android widgets","href":"/doc/guides/building-search-ui/widgets/create-your-own-widgets/android"}]},{"group":"UI \u0026 UX patterns","pages":[{"sidebarTitle":"Autocomplete","title":"Build an autocomplete with InstantSearch Android","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/autocomplete/android"},{"sidebarTitle":"Multi-index search","title":"Multi-index search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/multi-index-search/android"},{"group":"Query Suggestions","root":{"title":"Query Suggestions","sidebarTitle":"Overview","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/query-suggestions/android"},"pages":[{"title":"Build a Query Suggestions UI","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/query-suggestions/tutorials/building-query-suggestions-ui/android"}]},{"sidebarTitle":"Highlighting and snippeting","title":"Highlighting in InstantSearch Android","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/android"},{"title":"Pagination","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/android"},{"title":"Infinite scroll with InstantSearch Android","sidebarTitle":"Infinite scroll","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/infinite-scroll/android"},{"title":"Geo search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/geo-search/android"},{"sidebarTitle":"Sorting refinements","title":"Sorting refinements in InstantSearch Android","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/sorting-refinements/android"},{"sidebarTitle":"Filtering patterns","title":"Filtering patterns for InstantSearch Android","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/filtering-patterns/android"},{"sidebarTitle":"Redirects","title":"Redirects in InstantSearch Android","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/redirects/android"},{"title":"Facet display","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/android"},{"title":"Voice search","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/voice-search/android"}]},{"group":"Going further","pages":[{"sidebarTitle":"Conditional display","title":"Conditional display in InstantSearch Android","href":"/doc/guides/building-search-ui/going-further/conditional-display/android"},{"sidebarTitle":"Conditional requests","title":"Conditional requests with InstantSearch Android","href":"/doc/guides/building-search-ui/going-further/conditional-requests/android"},{"sidebarTitle":"API keys/security","title":"Secured API keys in InstantSearch for Android","href":"/doc/guides/building-search-ui/going-further/api-keys-security/android"},{"sidebarTitle":"Improve performance","title":"Improve performance for InstantSearch Android","href":"/doc/guides/building-search-ui/going-further/improve-performance/android"},{"sidebarTitle":"Optimize search requests","title":"Optimize InstantSearch Android search requests","href":"/doc/guides/building-search-ui/going-further/optimize-search-request-usage/android"},{"group":"Backend search","pages":[{"title":"Backend search with InstantSearch Android","sidebarTitle":"Overview","href":"/doc/guides/building-search-ui/going-further/backend-search/android"},{"title":"Understand the API response","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/understanding-the-api-response/android"},{"title":"Implement backend search with InstantSearch on Android","sidebarTitle":"Backend search with InstantSearch","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-instantsearch/android"},{"title":"Backend search with an API client","href":"/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-search-with-an-api-client/android"}]},{"sidebarTitle":"Telemetry","title":"Telemetry collection in InstantSearch Android","href":"/doc/guides/building-search-ui/going-further/telemetry/android"}]},{"group":"Resources","pages":[{"sidebarTitle":"UI Design Kit","title":"UI Design Kit (Figma)","href":"/doc/guides/building-search-ui/resources/ui-kit/android"},{"sidebarTitle":"Demos","title":"UI examples for InstantSearch Android","href":"/doc/guides/building-search-ui/resources/demos/android"}]}]},{"group":"Algolia for Flutter","pages":[{"title":"Algolia for Flutter","href":"/doc/guides/building-search-ui/what-is-instantsearch/flutter"},{"title":"How to install the Flutter Helper","sidebarTitle":"Installation","href":"/doc/guides/building-search-ui/installation/flutter"},{"title":"Get started with Flutter Helper","sidebarTitle":"Get started","href":"/doc/guides/building-search-ui/getting-started/flutter"},{"sidebarTitle":"Click and conversion events","title":"Send click and conversion events with the Flutter Helper","href":"/doc/guides/building-search-ui/events/flutter"},{"group":"Widgets","pages":[{"title":"Showcase for Flutter helper components","sidebarTitle":"Widgets showcase","href":"/doc/guides/building-search-ui/widgets/showcase/flutter"}]},{"group":"UI \u0026 UX patterns","pages":[{"sidebarTitle":"Highlighting and snippeting","title":"Highlighting in Algolia for Flutter","href":"/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/flutter"}]},{"group":"Ecommerce UI template","pages":[{"title":"Ecommerce UI template","sidebarTitle":"Overview","href":"/doc/guides/building-search-ui/ecommerce-ui-template/overview/flutter"},{"title":"Get started with the Ecommerce UI template","sidebarTitle":"Get started","href":"/doc/guides/building-search-ui/ecommerce-ui-template/getting-started/flutter"},{"group":"Components","pages":[{"title":"Components","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/flutter"},{"title":"Showcase","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/in-depth/showcase/flutter"},{"title":"Autocomplete","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/in-depth/search-autocomplete/flutter"},{"group":"Product listing page","pages":[{"title":"Display products","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/in-depth/product-listing-page-display/display-products/flutter"},{"title":"Product card","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/in-depth/product-listing-page-display/product-card/flutter"},{"title":"No results handler","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/in-depth/product-listing-page-display/no-results-handler/flutter"}]},{"group":"Filters and sorting","pages":[{"title":"Refinements","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/in-depth/product-listing-page-filter-and-nav/filters-refinements/flutter"},{"title":"Refinement widgets","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/in-depth/product-listing-page-filter-and-nav/refinement-widgets/flutter"},{"title":"Sort UI components","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/in-depth/product-listing-page-filter-and-nav/sort/flutter"}]},{"group":"Data sources","pages":[{"title":"ProductRepository","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/in-depth/data-sources/product-repository/flutter"},{"title":"SuggestionRepository","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/in-depth/data-sources/suggestion-repository/flutter"},{"title":"SearchRepository","href":"/doc/guides/building-search-ui/ecommerce-ui-template/components/in-depth/data-sources/search-repository/flutter"}]}]}]},{"group":"Resources","pages":[{"sidebarTitle":"UI Design Kit","title":"UI Design Kit (Figma)","href":"/doc/guides/building-search-ui/resources/ui-kit/flutter"}]}]},{"group":"Algolia Experiences","tag":"pilot","pages":[{"title":"Get started with Algolia Experiences","sidebarTitle":"Get started","href":"/doc/guides/building-search-ui/algolia-experiences/get-started"},{"title":"Use Algolia Experiences in a React app","sidebarTitle":"Use in React","href":"/doc/guides/building-search-ui/algolia-experiences/use-in-react"},{"title":"Edit and preview your experience from your website","sidebarTitle":"Edit from your website","href":"/doc/guides/building-search-ui/algolia-experiences/preview-changes"},{"title":"Troubleshoot Algolia Experiences","sidebarTitle":"Troubleshooting","href":"/doc/guides/building-search-ui/algolia-experiences/troubleshooting"}]}]},{"group":"Click and conversion events","root":{"title":"Click and conversion events","href":"/doc/guides/sending-events"},"pages":[{"title":"Choose how to send events","sidebarTitle":"Implementation paths","href":"/doc/guides/sending-events/getting-started"},{"group":"Concepts","pages":[{"title":"Event types","href":"/doc/guides/sending-events/concepts/event-types"},{"title":"User token","href":"/doc/guides/sending-events/concepts/usertoken"}]},{"group":"Guides","pages":[{"title":"Which events to track","href":"/doc/guides/sending-events/guides/plan"},{"title":"Keep track of query IDs","href":"/doc/guides/sending-events/guides/queryid"},{"title":"Validate your events","href":"/doc/guides/sending-events/guides/validate"},{"group":"Send events with InstantSearch","pages":[{"title":"Send ecommerce events","sidebarTitle":"Ecommerce events","href":"/doc/guides/sending-events/instantsearch/send-ecommerce-events"},{"title":"Send media events","sidebarTitle":"Media events","href":"/doc/guides/sending-events/instantsearch/send-media-events"},{"title":"Send events","sidebarTitle":"Events","href":"/doc/guides/sending-events/instantsearch/send-events"}]},{"group":"Send events with API clients","pages":[{"title":"Send ecommerce events","sidebarTitle":"Ecommerce events","href":"/doc/guides/sending-events/api-client/send-ecommerce-events"},{"title":"Send media events","sidebarTitle":"Media events","href":"/doc/guides/sending-events/api-client/send-media-events"},{"title":"Send events","sidebarTitle":"Events","href":"/doc/guides/sending-events/api-client/send-events"}]}]},{"group":"Connectors","pages":[{"title":"Google Tag Manager","href":"/doc/guides/sending-events/connectors/google-tag-manager"},{"title":"Segment","href":"/doc/guides/sending-events/connectors/segment"},{"title":"Tealium","href":"/doc/guides/sending-events/connectors/tealium"},{"title":"Google Analytics BigQuery Export","sidebarTitle":"GA4 BigQuery Export","href":"/doc/guides/sending-events/connectors/google-analytics-big-query-export"}]}]},{"group":"Search analytics","root":{"title":"Search analytics","sidebarTitle":"Overview","href":"/doc/guides/search-analytics/overview"},"pages":[{"group":"Concepts","pages":[{"title":"Search analytics metrics","href":"/doc/guides/search-analytics/concepts/metrics"},{"title":"Query aggregation and processing","href":"/doc/guides/search-analytics/concepts/query-aggregation"}]},{"group":"Guides","pages":[{"title":"Distinguish users for analytics","href":"/doc/guides/search-analytics/guides/usertoken"},{"title":"Exclude search queries from analytics","href":"/doc/guides/search-analytics/guides/exclude-queries"},{"title":"Segment your analytics data","href":"/doc/guides/search-analytics/guides/segments"}]}]},{"group":"Solutions","pages":[{"group":"Search","root":{"title":"Search","href":"/doc/guides/solutions/ecommerce/search"},"pages":[{"title":"Autocomplete with Federated Search","href":"/doc/guides/solutions/ecommerce/search/autocomplete/federated-search"},{"title":"Animated placeholders","href":"/doc/guides/solutions/ecommerce/search/autocomplete/animated-placeholder"},{"title":"Predictive search suggestions","href":"/doc/guides/solutions/ecommerce/search/autocomplete/predictive-search-suggestions"}]},{"group":"Browse","root":{"title":"Browse","href":"/doc/guides/solutions/ecommerce/browse"},"pages":[{"title":"Category pages","href":"/doc/guides/solutions/ecommerce/browse/tutorials/category-pages"},{"title":"Collections","href":"/doc/guides/solutions/ecommerce/browse/tutorials/collections"},{"group":"Product carousels","pages":[{"title":"Static product carousels","href":"/doc/guides/solutions/ecommerce/browse/product-carousels/static-product-carousels"},{"title":"Dynamic product carousels","href":"/doc/guides/solutions/ecommerce/browse/product-carousels/dynamic-product-carousels"}]}]},{"group":"Filtering and Navigation","root":{"title":"Filtering and Navigation","href":"/doc/guides/solutions/ecommerce/filtering-and-navigation"},"pages":[{"title":"Show automatically applied filters","href":"/doc/guides/solutions/ecommerce/filtering-and-navigation/tutorials/auto-selected-facets"},{"title":"Visual facets","href":"/doc/guides/solutions/ecommerce/filtering-and-navigation/tutorials/visual-facets"},{"title":"Guided search","href":"/doc/guides/solutions/ecommerce/filtering-and-navigation/tutorials/guided-search"}]},{"group":"B2B catalog management","root":{"title":"B2B catalog management","href":"/doc/guides/solutions/ecommerce/b2b-catalog-management"},"pages":[{"title":"Search by SKU","href":"/doc/guides/solutions/ecommerce/b2b-catalog-management/tutorials/search-by-sku"},{"title":"Personalized catalogs","href":"/doc/guides/solutions/ecommerce/b2b-catalog-management/tutorials/personalized-catalogs"},{"title":"Personalized pricing","href":"/doc/guides/solutions/ecommerce/b2b-catalog-management/tutorials/personalized-pricing"}]},{"group":"Visual image search","root":{"title":"Visual image search","sidebarTitle":"Overview","href":"/doc/guides/solutions/ecommerce/visual-image-search"},"pages":[{"title":"Image classification and tagging","href":"/doc/guides/solutions/ecommerce/visual-image-search/tutorials/image-classification-tagging"},{"title":"Search by image","href":"/doc/guides/solutions/ecommerce/visual-image-search/tutorials/search-by-image"}]},{"title":"Build a voice to text search","href":"/doc/guides/solutions/ecommerce/voice-search"}]}]},{"group":"Optimization and Personalization","icon":"cpu","pages":[{"group":"Algolia Recommend","root":{"title":"Algolia Recommend","sidebarTitle":"Overview","href":"/doc/guides/algolia-recommend/overview"},"pages":[{"group":"Upgrade","pages":[{"title":"Upgrade from Recommend JS to InstantSearch.js","sidebarTitle":"From Recommend JS","href":"/doc/guides/algolia-recommend/upgrade/recommend-js"},{"title":"Upgrade from Recommend React to React InstantSearch","sidebarTitle":"From Recommend React","href":"/doc/guides/algolia-recommend/upgrade/recommend-react"}]},{"group":"Guides","pages":[{"title":"Upload events from a CSV file","sidebarTitle":"Upload from CSV","href":"/doc/guides/algolia-recommend/how-to/csv-upload"},{"title":"Set up Algolia Recommend","sidebarTitle":"Set up Recommend","href":"/doc/guides/algolia-recommend/how-to/set-up"},{"title":"Get image-based recommendations with Looking similar","href":"/doc/guides/algolia-recommend/how-to/lookingSimilar"},{"title":"Recommended for you","href":"/doc/guides/algolia-recommend/how-to/recommended-for-you"},{"title":"Personalized recommendations","href":"/doc/guides/algolia-recommend/how-to/personalized-recommendations"},{"title":"Refine recommendations with rules","sidebarTitle":"Recommend rules","href":"/doc/guides/algolia-recommend/how-to/rules"},{"title":"Deduplicate recommendations","href":"/doc/guides/algolia-recommend/how-to/deduplication"}]},{"group":"Analytics","pages":[{"title":"Recommend analytics","sidebarTitle":"Overview","href":"/doc/guides/algolia-recommend/analytics/recommend-analytics"},{"title":"Recommend analytics metrics","sidebarTitle":"Metrics","href":"/doc/guides/algolia-recommend/analytics/metrics"},{"title":"Send events for Recommend analytics","sidebarTitle":"Send events","href":"/doc/guides/algolia-recommend/analytics/send-events"}]}]},{"group":"Personalization","pages":[{"group":"Advanced Personalization","pages":[{"group":"What is Advanced Personalization","root":{"title":"What is Advanced Personalization?","href":"/doc/guides/personalization/advanced-personalization/what-is-advanced-personalization"},"pages":[{"title":"How does Advanced Personalization work?","href":"/doc/guides/personalization/advanced-personalization/what-is-advanced-personalization/in-depth/how-does-advanced-personalization-work"},{"title":"Real-time personalization and historical personalization","href":"/doc/guides/personalization/advanced-personalization/what-is-advanced-personalization/in-depth/real-time-personalization-and-historical-personalization"},{"title":"Migrate from Classic Personalization","href":"/doc/guides/personalization/advanced-personalization/what-is-advanced-personalization/in-depth/migrate-from-classic-personalization"},{"title":"User profiles","href":"/doc/guides/personalization/advanced-personalization/what-is-advanced-personalization/concepts/user-profiles"}]},{"group":"Configure personalization","root":{"title":"Configure personalization","href":"/doc/guides/personalization/advanced-personalization/configure"},"pages":[{"group":"Prerequisites","pages":[{"title":"Prepare your index structure","href":"/doc/guides/personalization/advanced-personalization/configure/prerequisites/index-structure"},{"title":"Prepare your event implementation","href":"/doc/guides/personalization/advanced-personalization/configure/prerequisites/event-implementation"},{"title":"Prepare your search implementation","href":"/doc/guides/personalization/advanced-personalization/configure/prerequisites/search-implementation"},{"title":"Requirements and limits","href":"/doc/guides/personalization/advanced-personalization/configure/prerequisites/consider-requirements-limits"}]},{"group":"Setup","pages":[{"title":"Configure indices to personalize","href":"/doc/guides/personalization/advanced-personalization/configure/setup/indices"},{"title":"Configure user events","href":"/doc/guides/personalization/advanced-personalization/configure/setup/events"},{"title":"Set personalization re-ranking","href":"/doc/guides/personalization/advanced-personalization/configure/setup/personalization-reranking"},{"title":"Enable real-time personalization","href":"/doc/guides/personalization/advanced-personalization/configure/setup/enable-real-time-personalization"}]}]},{"group":"Monitor personalization","root":{"title":"Monitor personalization","href":"/doc/guides/personalization/advanced-personalization/monitor"},"pages":[{"title":"A/B test Advanced Personalization","href":"/doc/guides/personalization/advanced-personalization/monitor/in-depth/ab-test"},{"title":"Troubleshoot Advanced Personalization","href":"/doc/guides/personalization/advanced-personalization/monitor/in-depth/troubleshoot"},{"title":"Inspect a user profile","href":"/doc/guides/personalization/advanced-personalization/monitor/in-depth/inspect-a-user-profile"},{"title":"Delete user profiles","href":"/doc/guides/personalization/advanced-personalization/monitor/in-depth/delete-a-user-profile"},{"title":"Error codes","href":"/doc/guides/personalization/advanced-personalization/monitor/in-depth/error-codes"}]},{"group":"Implement personalization","root":{"title":"Implement personalization","href":"/doc/guides/personalization/advanced-personalization/implement"},"pages":[{"title":"Segment users with rule contexts","href":"/doc/guides/personalization/advanced-personalization/implement/guides/segment-users-with-rule-contexts"},{"title":"Applying contextual affinities","href":"/doc/guides/personalization/advanced-personalization/implement/guides/applying-contextual-affinities"},{"title":"Fetching a user profile","href":"/doc/guides/personalization/advanced-personalization/implement/guides/fetching-a-user-profile"},{"title":"Personalizing search facets","href":"/doc/guides/personalization/advanced-personalization/implement/guides/personalizing-search-facets"},{"title":"Display content with inline segmentation","href":"/doc/guides/personalization/advanced-personalization/implement/guides/inline-segmentation"},{"title":"Label and boost purchased items in search results","href":"/doc/guides/personalization/advanced-personalization/implement/guides/label-and-boost-purchased-items"},{"title":"Personalize product display","href":"/doc/guides/personalization/advanced-personalization/implement/guides/personalizing-product-display"},{"title":"Export user profiles to an audience","href":"/doc/guides/personalization/advanced-personalization/implement/guides/export-audience"}]}]},{"group":"Classic Personalization","pages":[{"group":"What is Personalization","root":{"title":"What is Personalization?","href":"/doc/guides/personalization/classic-personalization/what-is-personalization"},"pages":[{"title":"How Personalization works","href":"/doc/guides/personalization/classic-personalization/what-is-personalization/in-depth/how-personalization-works"}]},{"group":"Personalize results","pages":[{"title":"Personalizing results","href":"/doc/guides/personalization/classic-personalization/personalizing-results"},{"title":"Configure Personalization","href":"/doc/guides/personalization/classic-personalization/personalizing-results/in-depth/configuring-personalization"}]},{"group":"Going to production","root":{"title":"Going to production","href":"/doc/guides/personalization/classic-personalization/going-to-production"},"pages":[{"title":"A/B testing Personalization","description":"Learn how to A/B test Personalization.","href":"/doc/guides/personalization/classic-personalization/going-to-production/how-to/ab-testing-personalization"},{"title":"Enabling Personalization","href":"/doc/guides/personalization/classic-personalization/going-to-production/how-to/enabling-personalization"},{"title":"Personalization implementation checklist","description":"Use the implementation checklist to make sure your Personalization implementation is ready to go live.","href":"/doc/guides/personalization/classic-personalization/going-to-production/in-depth/implementation-checklist"}]}]}]},{"group":"A/B testing","pages":[{"group":"What is A/B testing","root":{"title":"What is A/B testing","href":"/doc/guides/ab-testing/what-is-ab-testing"},"pages":[{"title":"Create and run an A/B test","href":"/doc/guides/ab-testing/what-is-ab-testing/how-to/create-and-run-an-ab-test"},{"title":"A/B testing API version 3","href":"/doc/guides/ab-testing/what-is-ab-testing/in-depth/api-version-3"},{"title":"Why do A/B testing?","href":"/doc/guides/ab-testing/what-is-ab-testing/in-depth/why-do-ab-testing"},{"title":"How A/B test scores are calculated","href":"/doc/guides/ab-testing/what-is-ab-testing/in-depth/how-ab-test-scores-are-calculated"},{"title":"Bayesian experimentation","href":"/doc/guides/ab-testing/what-is-ab-testing/in-depth/bayesian-experimentation"},{"title":"How traffic splits affect A/B test results","href":"/doc/guides/ab-testing/what-is-ab-testing/in-depth/how-traffic-splits-affect-results"},{"title":"Multi-variant testing","href":"/doc/guides/ab-testing/what-is-ab-testing/in-depth/multi-variant-testing"},{"title":"Declare and adopt an A/B test winner","href":"/doc/guides/ab-testing/what-is-ab-testing/how-to/adopt-ab-test-winner"}]},{"title":"A/B test implementation checklist","href":"/doc/guides/ab-testing/ab-test-implementation-checklist"},{"title":"How to read your A/B test results","href":"/doc/guides/ab-testing/how-to-read-your-a-b-test-results"}]}]},{"group":"AI-powered experiences","icon":"brain","pages":[{"group":"AI Guides","root":{"title":"AI guides","href":"/doc/guides/algolia-ai/generative-experiences"},"pages":[{"group":"How to","pages":[{"title":"Create Guides","href":"/doc/guides/algolia-ai/generative-experiences/guides/generating-guides"},{"title":"Integrate Guides into your website","sidebarTitle":"Integrate Guides","href":"/doc/guides/algolia-ai/generative-experiences/guides/using-guides"},{"title":"Publish Guides","href":"/doc/guides/algolia-ai/generative-experiences/guides/publishing-guides"}]},{"group":"UI components","pages":[{"title":"GuidesHeadlines","href":"/doc/guides/algolia-ai/generative-experiences/ui-library/headlines"},{"title":"GuideContent","href":"/doc/guides/algolia-ai/generative-experiences/ui-library/content"},{"title":"GuidesFeedback","href":"/doc/guides/algolia-ai/generative-experiences/ui-library/feedback"},{"title":"Alternative implementations","href":"/doc/guides/algolia-ai/generative-experiences/ui-library/alternatives"}]}]},{"group":"Agent Studio","root":{"title":"Agent Studio","sidebarTitle":"Overview","href":"/doc/guides/algolia-ai/agent-studio"},"pages":[{"group":"Get started","root":{"title":"Build your first agent","href":"/doc/guides/algolia-ai/agent-studio/how-to/quickstart"},"pages":[{"title":"Create and edit agents in the dashboard","sidebarTitle":"Dashboard","href":"/doc/guides/algolia-ai/agent-studio/how-to/dashboard"},{"title":"Connect LLM providers","sidebarTitle":"LLM providers","href":"/doc/guides/algolia-ai/agent-studio/how-to/llm-providers"},{"title":"Integrate Agent Studio","href":"/doc/guides/algolia-ai/agent-studio/how-to/integration"}]},{"group":"Extend","root":{"title":"Use tools in Agent Studio","sidebarTitle":"Tools overview","href":"/doc/guides/algolia-ai/agent-studio/how-to/tools/overview"},"pages":[{"title":"Algolia Search tool","sidebarTitle":"Search tool","href":"/doc/guides/algolia-ai/agent-studio/how-to/tools/algolia-search"},{"title":"Grouped Results tool","href":"/doc/guides/algolia-ai/agent-studio/how-to/tools/grouped-results"},{"title":"Client-side tools","href":"/doc/guides/algolia-ai/agent-studio/how-to/tools/client-side-tools"},{"title":"MCP tools","href":"/doc/guides/algolia-ai/agent-studio/how-to/tools/mcp-tools"},{"title":"Memory","href":"/doc/guides/algolia-ai/agent-studio/how-to/memory/overview"},{"title":"Agent-to-agent (A2A)","href":"/doc/guides/algolia-ai/agent-studio/how-to/agent-to-agent"}]},{"group":"Customize","pages":[{"title":"Tips for writing efficient prompts","sidebarTitle":"Prompting","href":"/doc/guides/algolia-ai/agent-studio/how-to/prompting"},{"title":"Generate prompt suggestions for your pages","sidebarTitle":"Prompt suggestions","href":"/doc/guides/algolia-ai/agent-studio/how-to/prompt-suggestions"},{"title":"Generate searchable prompt suggestions","sidebarTitle":"Searchable prompt suggestions","href":"/doc/guides/algolia-ai/agent-studio/how-to/searchable-prompt-suggestions"},{"title":"Compare products in chat","sidebarTitle":"Product comparison","href":"/doc/guides/algolia-ai/agent-studio/how-to/product-comparison"},{"title":"Add an AI Overview card to search results","sidebarTitle":"Result card","href":"/doc/guides/algolia-ai/agent-studio/how-to/result-card"},{"title":"Conversations","href":"/doc/guides/algolia-ai/agent-studio/how-to/conversations"},{"title":"Shrink long conversations","sidebarTitle":"Context management","href":"/doc/guides/algolia-ai/agent-studio/how-to/context-management"},{"title":"Per-turn context","href":"/doc/guides/algolia-ai/agent-studio/how-to/turn-context"},{"title":"Cache agent responses","sidebarTitle":"Caching","href":"/doc/guides/algolia-ai/agent-studio/how-to/caching"},{"title":"Analytics","href":"/doc/guides/algolia-ai/agent-studio/how-to/analytics"},{"title":"Evaluations","href":"/doc/guides/algolia-ai/agent-studio/how-to/evaluations"},{"title":"Collect feedback on agent messages","sidebarTitle":"Collecting feedback","href":"/doc/guides/algolia-ai/agent-studio/how-to/feedback"},{"title":"Experimental features","href":"/doc/guides/algolia-ai/agent-studio/how-to/experimental-features"},{"title":"Search prefetch","href":"/doc/guides/algolia-ai/agent-studio/how-to/search-prefetch"}]},{"group":"Security","pages":[{"title":"User authentication","href":"/doc/guides/algolia-ai/agent-studio/how-to/user-authentication"},{"title":"Approved domains","href":"/doc/guides/algolia-ai/agent-studio/how-to/approved-domains"},{"title":"Guardrails","sidebarTitle":"Guardrails","href":"/doc/guides/algolia-ai/agent-studio/how-to/guardrails"},{"title":"Security and credentials","href":"/doc/guides/algolia-ai/agent-studio/how-to/tools/security"}]},{"group":"Reference","pages":[{"title":"Configure your agents and app","sidebarTitle":"Configuration","href":"/doc/guides/algolia-ai/agent-studio/how-to/agent-configuration"}]}]},{"group":"Model Context Protocol","root":{"title":"MCP Server (Model Context Protocol)","sidebarTitle":"Overview","href":"/doc/guides/model-context-protocol"},"pages":[{"title":"Get started with Algolia Public MCP","sidebarTitle":"Public MCP","href":"/doc/guides/model-context-protocol/public-mcp"},{"title":"Get started with Algolia Productivity MCP","sidebarTitle":"Productivity MCP","href":"/doc/guides/model-context-protocol/productivity-mcp"},{"title":"Add Algolia to your app with DevEx MCP","sidebarTitle":"DevEx MCP","href":"/doc/guides/model-context-protocol/devex-mcp"}]},{"group":"Ask AI","root":{"title":"Ask AI","href":"/doc/guides/algolia-ai/askai"},"pages":[{"title":"Migrate Ask AI to Agent Studio","href":"/doc/guides/algolia-ai/askai/guides/migrate-to-agent-studio"},{"title":"Enable and configure Ask AI","href":"/doc/guides/algolia-ai/askai/guides/setup"},{"title":"Supported LLMs","mode":"wide","href":"/doc/guides/algolia-ai/askai/guides/models"},{"title":"Markdown indexing","href":"/doc/guides/algolia-ai/askai/guides/markdown-indexing"},{"title":"Suggested questions","href":"/doc/guides/algolia-ai/askai/guides/suggested-questions"},{"title":"Measure Ask AI performance","href":"/doc/guides/algolia-ai/askai/guides/metrics"},{"title":"Safeguards","href":"/doc/guides/algolia-ai/askai/guides/safety"},{"title":"Reduce token usage","href":"/doc/guides/algolia-ai/askai/guides/cost-optimization"},{"title":"Ask AI API reference","href":"/doc/guides/algolia-ai/askai/reference/api"}]}]},{"group":"Production and scale","icon":"layers","pages":[{"group":"Going to production","pages":[{"title":"Implementation checklist","href":"/doc/guides/going-to-production/implementation-checklist"},{"title":"Track usage and performance in the dashboard","href":"/doc/guides/going-to-production/track-usage"},{"title":"Case study for an online clothing company","href":"/doc/guides/going-to-production/case-study"}]},{"group":"Scaling","pages":[{"group":"Infrastructure","root":{"title":"Infrastructure","sidebarTitle":"Overview","href":"/doc/guides/scaling/infrastructure"},"pages":[{"group":"Classic","pages":[{"title":"Servers and clusters","href":"/doc/guides/scaling/infrastructure/classic/servers-clusters"},{"title":"Distributed Search Network (DSN)","href":"/doc/guides/scaling/infrastructure/classic/distributed-search-network-dsn"},{"title":"Capacity alerts","href":"/doc/guides/scaling/infrastructure/classic/capacity-alerts"}]},{"title":"Dynamic scaling infrastructure","href":"/doc/guides/scaling/infrastructure/dynamic/dynamic"}]},{"title":"Large indexing jobs","href":"/doc/guides/scaling/scaling-to-larger-datasets"},{"title":"Algolia service limits","href":"/doc/guides/scaling/algolia-service-limits"},{"group":" ","hidden":true,"searchable":true,"pages":[{"title":"Multi-cluster management (MCM)","href":"/doc/guides/scaling/managing-multiple-clusters-mcm"},{"title":"Implementing MCM","href":"/doc/guides/scaling/managing-multiple-clusters-mcm/how-to/implement-multi-clusters"}]}]},{"group":"Security","pages":[{"group":"API keys","root":{"title":"API keys","sidebarTitle":"Overview","href":"/doc/guides/security/api-keys"},"pages":[{"title":"User-restricted access to data","href":"/doc/guides/security/api-keys/how-to/user-restricted-access-to-data"},{"title":"How to restore an API key","href":"/doc/guides/security/api-keys/how-to/how-to-restore-an-api-key"},{"title":"API key restrictions","href":"/doc/guides/security/api-keys/in-depth/api-key-restrictions"}]},{"title":"Security best practices","href":"/doc/guides/security/security-best-practices"},{"title":"Shared responsibility","href":"/doc/guides/security/security-best-practices/in-depth/shared-responsibility"},{"title":"Algolia Vault","href":"/doc/guides/security/algolia-vault"}]},{"group":"Value Engineering","root":{"title":"Value Engineering","href":"/doc/value-engineering"},"pages":[{"title":"Radar","href":"/doc/value-engineering/radar"},{"title":"Deploy Radar","href":"/doc/value-engineering/deploy"},{"title":"Radar data and privacy","sidebarTitle":"Data and privacy","href":"/doc/value-engineering/data-and-privacy"}]},{"title":"Set up Algolia through the AWS Marketplace","sidebarTitle":"AWS Marketplace","href":"/doc/guides/billing/marketplaces/amazon-web-services"}]}]},{"tab":"Libraries and tools","icon":"wrench","menu":[{"item":"API clients","versions":[{"version":"current","groups":[{"group":"current","pages":[{"title":"current","href":"/doc/libraries/sdk"}]}]},{"version":"legacy","groups":[{"group":"legacy","pages":[{"title":"legacy","href":"/doc/libraries/sdk/v1/install"}]}]}]},{"item":"Algolia CLI","pages":[{"title":"Algolia CLI","href":"/doc/tools/cli/get-started"}]},{"item":"Algolia Wizard","pages":[{"title":"Algolia Wizard","href":"/doc/tools/algolia-wizard"}]},{"item":"Crawler","pages":[{"title":"Crawler","href":"/doc/tools/crawler/getting-started/overview"}]},{"item":"Django","pages":[{"title":"Django","href":"/doc/framework-integration/django/setup"}]},{"item":"Laravel","pages":[{"title":"Laravel","href":"/doc/framework-integration/laravel/getting-started/introduction-to-scout-extended"}]},{"item":"Ruby on Rails","pages":[{"title":"Ruby on Rails","href":"/doc/framework-integration/rails/getting-started/setup"}]},{"item":"Symfony","pages":[{"title":"Symfony","href":"/doc/framework-integration/symfony/getting-started/algolia-searchbundle"}]},{"item":"All libraries and tools","pages":[{"title":"All libraries and tools","href":"/doc/libraries"}]}],"pages":[{"title":"Libraries and tools","href":"/doc/libraries/sdk"}]},{"tab":"UI libraries","icon":"proportions","menu":[{"item":"InstantSearch.js","pages":[{"title":"InstantSearch.js","href":"/doc/api-reference/widgets/js"}]},{"item":"React InstantSearch","pages":[{"title":"React InstantSearch","href":"/doc/api-reference/widgets/react"}]},{"item":"Vue InstantSearch","pages":[{"title":"Vue InstantSearch","href":"/doc/api-reference/widgets/vue"}]},{"item":"InstantSearch iOS","pages":[{"title":"InstantSearch iOS","href":"/doc/api-reference/widgets/ios"}]},{"item":"InstantSearch Android","pages":[{"title":"InstantSearch Android","href":"/doc/api-reference/widgets/android"}]},{"item":"Algolia for Flutter","pages":[{"title":"Algolia for Flutter","href":"/doc/api-reference/widgets/flutter"}]},{"item":"Autocomplete","pages":[{"title":"Autocomplete","href":"/doc/ui-libraries/autocomplete/introduction/what-is-autocomplete"}]},{"item":"All UI libraries","pages":[{"title":"All UI libraries","href":"/doc/ui-libraries"}]}],"pages":[{"title":"UI libraries","href":"/doc/api-reference/widgets/js"}]},{"tab":"Integrations","icon":"plug","menu":[{"item":"Adobe Commerce/Magento","pages":[{"title":"Adobe Commerce/Magento","href":"/doc/integration/magento-2/getting-started/quick-start"}]},{"item":"BigCommerce","pages":[{"title":"BigCommerce","href":"/doc/integration/bigcommerce/get-started/installation"}]},{"item":"commercetools","pages":[{"title":"commercetools","href":"/doc/integration/commercetools/get-started/installation"}]},{"item":"Make","pages":[{"title":"Make","href":"/doc/integration/make"}]},{"item":"n8n","pages":[{"title":"n8n","href":"/doc/integration/n8n"}]},{"item":"Salesforce B2C Commerce","pages":[{"title":"Salesforce B2C Commerce","href":"/doc/integration/salesforce-commerce-cloud-b2c/getting-started/introduction"}]},{"item":"Shopify","pages":[{"title":"Shopify","href":"/doc/integration/shopify/getting-started/quick-start"}]},{"item":"Stripe Projects","pages":[{"title":"Stripe Projects","href":"/doc/integration/stripe-projects"}]},{"item":"Zapier","pages":[{"title":"Zapier","href":"/doc/integration/zapier"}]},{"item":"Zendesk","pages":[{"title":"Zendesk","href":"/doc/integration/zendesk/get-started"}]},{"item":"Vercel","pages":[{"title":"Vercel","href":"/doc/integration/vercel"}]},{"item":"All integrations","pages":[{"title":"All integrations","href":"/doc/integration"}]}],"pages":[{"title":"Integrations","href":"/doc/integration/magento-2/getting-started/quick-start"}]},{"tab":"API reference","icon":"code","menu":[{"item":"Search","pages":[{"title":"Search","href":"/doc/rest-api/search"}]},{"item":"Agent Studio","pages":[{"title":"Agent Studio","href":"/doc/rest-api/agent-studio"}]},{"item":"A/B testing","pages":[{"title":"A/B testing","href":"/doc/rest-api/abtesting-v3"}]},{"item":"Advanced Personalization","pages":[{"title":"Advanced Personalization","href":"/doc/rest-api/advanced-personalization"}]},{"item":"Analytics","pages":[{"title":"Analytics","href":"/doc/rest-api/analytics"}]},{"item":"Classic Personalization","pages":[{"title":"Classic Personalization","href":"/doc/rest-api/personalization"}]},{"item":"Composition","pages":[{"title":"Composition","href":"/doc/rest-api/composition"}]},{"item":"Crawler","pages":[{"title":"Crawler","href":"/doc/rest-api/crawler"}]},{"item":"Ingestion","pages":[{"title":"Ingestion","href":"/doc/rest-api/ingestion"}]},{"item":"Insights","pages":[{"title":"Insights","href":"/doc/rest-api/insights"}]},{"item":"Monitoring","pages":[{"title":"Monitoring","href":"/doc/rest-api/monitoring"}]},{"item":"Recommend","pages":[{"title":"Recommend","href":"/doc/rest-api/recommend"}]},{"item":"Query Suggestions","pages":[{"title":"Query Suggestions","href":"/doc/rest-api/query-suggestions"}]},{"item":"Usage","pages":[{"title":"Usage","href":"/doc/rest-api/usage"}]},{"item":"All APIs","pages":[{"title":"All APIs","href":"/doc/rest-api"}]}],"pages":[{"title":"API reference","href":"/doc/rest-api/search"}]}]},"basePath":"","title":"Enabling Personalization - Algolia","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":[],"chunks":[]}