Instead of using the form-based no-code transformation builder,
describe the transformation you need in plain English,
and AI will generate the configuration for you.
This is useful for complex conditions or computed values.
Configure your data source by selecting the appropriate options.
Click Create source
Select Create a new transformation and then select Transform without code.
Click AI Assist
Describe your transformation by typing it in plain English. For example: “If price is greater than 100, add the label ‘expensive’.”
Review the suggestion. AI generates a transformation configuration based on your prompt. You’ll see a preview showing how your data will change before you apply it. Refine the transformation either by adjusting your prompt or by editing the form fields.
Name the transformation and save it.
Complete the remaining connector workflow: select a destination, create the task that will schedule the job (and its indexing strategy), and then click Run. The connector then runs the transformation as part of the workflow.
The AI assistant has a few constraints to keep in mind when using it with No Code data transformations.
Limited transformation types.
Only these transformation types are supported:
Add Attribute, Remove Attribute, Filter Records, and Compute New Value. It doesn’t cover advanced operations like joins, type conversions, or hierarchical restructuring.
Accuracy of suggestions.
The perfect transformation may not always be generated. Review and, if needed, refine the suggestion before applying it. This “human in the loop” step is essential.
Prompt constraints.
Prompts must be concise and specific. Long or ambiguous descriptions may lead to incomplete or incorrect transformations.
Performance limits.
Transformations are still bound by Algolia’s service limits (for example, record size, memory, and execution timeout). AI can’t bypass these constraints.
Security and data handling.
Only the record schema and your written prompt are sent to the AI model, not full record data. This means if you include sensitive data in a prompt, it could be processed, so avoid adding personally identifiable information or confidential values.
Over-reliance.
Use AI to help, not replace your judgment. Confirm that the previewed changes are correct, as incorrect logic could affect search relevance.
Language coverage.
Prompts are optimized for English. Support for other languages is limited.
Last modified on November 9, 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":"6af5c625483e41d0aa573dc2","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Libraries and tools","count":618},{"language":"default","tag":"Guides","count":584},{"language":"default","tag":"API clients","count":407},{"language":"default","tag":"Search and Discovery platform","count":406},{"language":"default","tag":"API reference","count":403},{"language":"default","tag":"UI libraries","count":290},{"language":"default","tag":"Reference","count":282},{"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":"custom-rbac-roles","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}],"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/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations","slug":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations","pageMetadata":{"title":"AI-assisted transformations","sidebarTitle":"AI-assisted transformations","description":"How AI can help build no-code transformations.","public":true,"subtype":"Guide","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations"},"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: \"How AI can help build no-code transformations.\"\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 Application=()=>{const{Tooltip}=_provideComponents()||{};if(!Tooltip)_missingMdxReference(`Tooltip`,true);return _jsx(Tooltip,{tip:`An Algolia application is a self-contained environment with its own indices, configuration, and API keys. Applications don't share data or settings with each other.`,children:`application`})};function _createMdxContent(props){const _components={a:`a`,em:`em`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,OptimizedImage,_MdxComponentBoundary}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Instead of using the form-based `,_jsx(_components.a,{href:`/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/transform-your-data-without-code`,children:`no-code transformation builder`}),`,\ndescribe the transformation you need in plain English,\nand AI will generate the configuration for you.\nThis is useful for complex conditions or computed values.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_hero.png?fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=6315d8f8ee4fce159b24566ecd0c59da`,alt:`Screenshot of the AI transformation interface with a text box prompting the user to describe their desired change in plain English`,\"data-og-width\":`1406`,width:`1406`,\"data-og-height\":`840`,height:`840`,\"data-path\":`doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_hero.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_hero.png?w=280\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=0581c7256c66a6fd0a3563fba4632c33 280w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_hero.png?w=560\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=15f0f5cc03e99380fc75502c1c35a796 560w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_hero.png?w=840\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=c6502c2a9e12257ab37ad34062f81179 840w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_hero.png?w=1100\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=88658d15b54b660d59b2535c4177f9d8 1100w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_hero.png?w=1650\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=833e150c6c3343c193cc4a2e641c6a86 1650w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_hero.png?w=2500\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=ff8c02c9d33ed136d5ed910016e74855 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-use-ai-assisted-transformations`,children:`When to use AI-Assisted transformations`}),`\n`,_jsx(_components.p,{children:`This feature is for users who need to adjust data without writing code.\nIt helps when you want to:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Add new attributes.`}),` For example, add a discount percentage field from the full price and the sale price.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Remove fields`}),` that are no longer relevant.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Filter records.`}),` For example, to exclude test products or filter by status.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Compute new values`}),` from existing attributes. For example, create a ranking signal by combining popularity and newness.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`key-benefits`,children:`Key benefits`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Simplifies complex logic.`}),` You don’t need to build nested “if/then” rules manually: AI handles it.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Faster iteration.`}),` Quickly test and refine transformations using natural language.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`You stay in control.`}),` AI fills in the form, but you can review and adjust it before applying.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Preview before applying.`}),` See how your data will look before committing changes.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`use-ai-to-build-a-transformation`,children:`Use AI to build a transformation`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Go to the `,_jsx(_components.a,{href:`https://dashboard.algolia.com/explorer/browse`,children:`Algolia dashboard`}),` and select your Algolia `,_jsx(_MdxComponentBoundary,{name:`Application`,children:_jsx(Application,{})}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`On the left sidebar, select `,_jsx(_components.strong,{children:`Data sources`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Open the `,_jsx(_components.a,{href:`https://dashboard.algolia.com/connectors`,children:_jsx(_components.strong,{children:`Connectors`})}),` page and select a connector.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Configure your data source by selecting the appropriate options.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create source`})]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Create a new transformation`}),` and then select `,_jsx(_components.strong,{children:`Transform without code`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`AI Assist`})]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Describe your transformation by typing it in plain English. For example: “If price is greater than 100, add the label ‘expensive’.”`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_english_request.png?fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=6bce3a671290d5f6ad1223fcb29f7c35`,alt:`Screenshot of the 'Delete Attribute: inventory' step with a text input and options to add conditions or groups.`,\"data-og-width\":`2894`,width:`2894`,\"data-og-height\":`1442`,height:`1442`,\"data-path\":`doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_english_request.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_english_request.png?w=280\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=2903787e98784636bc6a045afcb69cc8 280w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_english_request.png?w=560\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=a98b0df46320feded22f56d925640c77 560w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_english_request.png?w=840\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=1f7fe0b65f0757a9fb93f495333c77c0 840w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_english_request.png?w=1100\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=ba6cec8256f3f6e51def5198915b741b 1100w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_english_request.png?w=1650\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=7c992a768aee379bdd1468890800bd9a 1650w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_english_request.png?w=2500\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=c01293b2112ab323e7513e1c1db8a000 2500w`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Review the suggestion.`}),` AI generates a transformation configuration based on your prompt. You’ll see a preview showing how your data will change before you apply it. Refine the transformation either by adjusting your prompt or by editing the form fields.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_preview.png?fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=ed2007586e9eed2d1a3754ca61d094c7`,alt:`Screenshot showing AI-generated transformation preview with editable field`,\"data-og-width\":`2892`,width:`2892`,\"data-og-height\":`1432`,height:`1432`,\"data-path\":`doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_preview.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_preview.png?w=280\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=14c324be137883f033006605b3c6c95c 280w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_preview.png?w=560\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=8e6af5e11064ef5ec574abf12537578d 560w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_preview.png?w=840\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=36495c522b0946a751c0c7a96018b897 840w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_preview.png?w=1100\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=59394c90275f3c3a9e286cae8c025c61 1100w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_preview.png?w=1650\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=2c4890ac6777c100963103a0b0b704e9 1650w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_preview.png?w=2500\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=428b89326404c30021ca8fd4cf800ddb 2500w`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Name the transformation and save it.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Complete the remaining connector workflow: select a destination, create the task that will schedule the job (and its indexing strategy), and then click `,_jsx(_components.strong,{children:`Run`}),`. The connector then runs the transformation as part of the workflow.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_finish.png?fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=604c5c1eaa476c30d3b28d0288c07bac`,alt:`Screenshot of a task configuration interface with 'On demand' and 'Partial record updates' selected.`,\"data-og-width\":`1692`,width:`1692`,\"data-og-height\":`1408`,height:`1408`,\"data-path\":`doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_finish.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_finish.png?w=280\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=99190f7ec9883d54b5c35d5d87bf15b0 280w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_finish.png?w=560\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=4717880704becc0afed84bbcba9b71ca 560w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_finish.png?w=840\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=9c517f40989e2336fa3026e5f8c70184 840w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_finish.png?w=1100\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=951a19c872ff49968e50817fff64d072 1100w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_finish.png?w=1650\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=b3c3e48d4eb2149250697fd5e9d20761 1650w, https://mintcdn.com/algolia/BaxS3Doxn613Z9Q0/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ncdt_ai_finish.png?w=2500\u0026fit=max\u0026auto=format\u0026n=BaxS3Doxn613Z9Q0\u0026q=85\u0026s=5358b6b35762a7a37a77a2ac0d324672 2500w`}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`limitations`,children:`Limitations`}),`\n`,_jsx(_components.p,{children:`The AI assistant has a few constraints to keep in mind when using it with No Code data transformations.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Limited transformation types.`}),`\nOnly these transformation types are supported:\n`,_jsx(_components.em,{children:`Add Attribute`}),`, `,_jsx(_components.em,{children:`Remove Attribute`}),`, `,_jsx(_components.em,{children:`Filter Records`}),`, and `,_jsx(_components.em,{children:`Compute New Value`}),`. It doesn’t cover advanced operations like joins, type conversions, or hierarchical restructuring.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Accuracy of suggestions.`}),`\nThe perfect transformation may not always be generated. Review and, if needed, refine the suggestion before applying it. This “human in the loop” step is essential.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Prompt constraints.`}),`\nPrompts must be concise and specific. Long or ambiguous descriptions may lead to incomplete or incorrect transformations.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Performance limits.`}),`\nTransformations are still bound by Algolia’s `,_jsx(_components.a,{href:`/doc/guides/scaling/algolia-service-limits`,children:`service limits`}),` (for example, record size, memory, and execution timeout). AI can’t bypass these constraints.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Security and data handling.`}),`\nOnly the record schema and your written prompt are sent to the AI model, not full record data. This means if you include sensitive data in a prompt, it `,_jsx(_components.em,{children:`could`}),` be processed, so avoid adding personally identifiable information or confidential values.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Over-reliance.`}),`\nUse AI to help, not replace your judgment. Confirm that the previewed changes are correct, as incorrect logic could affect search relevance.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Language coverage.`}),`\nPrompts are optimized for English. Support for other languages is limited.`]}),`\n`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{Application,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":"AI-assisted transformations","sidebarTitle":"AI-assisted transformations","description":"How AI can help build no-code transformations.","public":true,"subtype":"Guide","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"When to use AI-Assisted transformations","slug":"when-to-use-ai-assisted-transformations","depth":2,"children":[{"title":"Key benefits","slug":"key-benefits","depth":3,"children":[]}]},{"title":"Use AI to build a transformation","slug":"use-ai-to-build-a-transformation","depth":2,"children":[]},{"title":"Limitations","slug":"limitations","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":"AI-assisted transformations - Algolia","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-12T17:01:01.634Z","gitLastModified":"2026-11-09T13:44:28.000Z","originalFileLocation":"doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations.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=\"How AI can help build no-code transformations.\">\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=\"AI-assisted transformations - Algolia\">\u003cmeta data-mint-head property=\"og:description\" content=\"How AI can help build no-code transformations.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Algolia\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations\">\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=Transform+and+enrich+data\u0026amp;title=AI-assisted+transformations\u0026amp;description=How+AI+can+help+build+no-code+transformations.\u0026amp;theme=7b696fa6ef3d890ba8a17746\u0026amp;signature=b07fdf94f1b9336cc31e5f635ed3b06d738f23f97d39be3a65380dbb6655dfcc\">\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=\"AI-assisted transformations - Algolia\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How AI can help build no-code transformations.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://algolia.mintlify.site/_mintlify/api/og/v2?division=Transform+and+enrich+data\u0026amp;title=AI-assisted+transformations\u0026amp;description=How+AI+can+help+build+no-code+transformations.\u0026amp;theme=7b696fa6ef3d890ba8a17746\u0026amp;signature=b07fdf94f1b9336cc31e5f635ed3b06d738f23f97d39be3a65380dbb6655dfcc\">\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/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations.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/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations#webpage\",\"url\":\"https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations\",\"name\":\"AI-assisted transformations\",\"description\":\"How AI can help build no-code transformations.\",\"dateModified\":\"2026-11-09T13:44:28.000Z\",\"isPartOf\":{\"@id\":\"https://www.algolia.com#website\"},\"breadcrumb\":{\"@id\":\"https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Search and Discovery platform\",\"item\":\"https://www.algolia.com/doc/guides/sending-and-managing-data/prepare-your-data/in-depth/what-is-in-a-record\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Index your data\",\"item\":\"https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Transform and enrich data\",\"item\":\"https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/transform-your-data-with-code\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"AI-assisted transformations\",\"item\":\"https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations#article\",\"headline\":\"AI-assisted transformations\",\"name\":\"AI-assisted transformations\",\"description\":\"How AI can help build no-code transformations.\",\"url\":\"https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations\",\"mainEntityOfPage\":{\"@id\":\"https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations#webpage\"},\"dateModified\":\"2026-11-09T13:44:28.000Z\",\"publisher\":{\"@id\":\"https://www.algolia.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.algolia.com#website\"}}]}\u003c/script>","agentPointerHref":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations.md","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":"Index your data","root":{"title":"Index your data","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data"},"pages":[{"group":"Prepare your data","root":{"title":"Prepare your data","href":"/doc/guides/sending-and-managing-data/prepare-your-data"},"pages":[{"title":"What is in a record","href":"/doc/guides/sending-and-managing-data/prepare-your-data/in-depth/what-is-in-a-record"},{"title":"Structure your records","href":"/doc/guides/sending-and-managing-data/prepare-your-data/in-depth/prepare-data-in-depth"},{"title":"Create nested attributes","sidebarTitle":"Nested attributes","href":"/doc/guides/sending-and-managing-data/prepare-your-data/how-to/creating-and-using-nested-attributes"},{"title":"Reduce record size","sidebarTitle":"Reducing record size","href":"/doc/guides/sending-and-managing-data/prepare-your-data/how-to/reducing-object-size"},{"title":"Indexing long documents","href":"/doc/guides/sending-and-managing-data/prepare-your-data/how-to/indexing-long-documents"},{"title":"Data cleaning","href":"/doc/guides/sending-and-managing-data/prepare-your-data/in-depth/data-sanitization"}]},{"group":"Send data","pages":[{"title":"Upload a local file","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/importing-from-the-dashboard"},{"title":"Send records with an API client","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/importing-with-the-api"},{"title":"Sending records in batches","sidebarTitle":"Send records in batches","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/sending-records-in-batches"},{"title":"Connectors","sidebarTitle":"Connectors overview","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors"},{"title":"Import a hosted JSON file","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/json"},{"title":"Import a hosted CSV file","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/csv"},{"title":"Import from BigQuery","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/bigquery"},{"title":"Import from MySQL","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/mysql"},{"title":"Import from Elasticsearch","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/elasticsearch"},{"title":"Import from Supabase","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/supabase"},{"title":"Send records through managed transformations","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/push"}]},{"group":"Transform and enrich data","pages":[{"title":"Transform your data with code","sidebarTitle":"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","sidebarTitle":"Transform your data without code","description":"Transform your data before writing to your Algolia index.","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/transform-your-data-without-code"},{"title":"AI-assisted transformations","sidebarTitle":"AI-assisted transformations","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/ai-assisted-transformations"},{"title":"Enrich your records with Fetch","sidebarTitle":"Enrich your records with Fetch","description":"Enrich your records with Fetch Helper Functions.","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/enrich-your-records-with-fetch"},{"title":"Post-indexing transformations","sidebarTitle":"Post-indexing transformations","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/post-indexing-transformations"},{"title":"Make measures and dimensions searchable","sidebarTitle":"Searchable dimensions","href":"/doc/guides/sending-and-managing-data/prepare-your-data/how-to/dimensional-data"}]},{"group":"Keep data in sync","pages":[{"title":"Data synchronization strategies","sidebarTitle":"Choose a synchronization strategy","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/in-depth/the-different-synchronization-strategies"},{"title":"Incremental updates","sidebarTitle":"Incremental updates","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/how-to/incremental-updates"},{"title":"Handling concurrency with versioning","sidebarTitle":"Handling concurrency with versioning","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/in-depth/handling-concurrency-with-versioning"},{"title":"Wait for indexing to finish","href":"/doc/guides/sending-and-managing-data/send-and-update-your-data/in-depth/index-operations-are-asynchronous"}]},{"group":"Manage indices","pages":[{"title":"Manage indices","sidebarTitle":"Manage indices","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices"},{"title":"Choose how many indices to use","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/concepts/one-or-more-indices"},{"title":"Copy and move indices","sidebarTitle":"Copy or move indices","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/copy-move-indices"},{"title":"Export and import indices and settings","sidebarTitle":"Export and import indices","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/export-import-indices"},{"title":"Delete indices","sidebarTitle":"Delete indices","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/delete-indices"},{"title":"Indices and analytics","sidebarTitle":"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","sidebarTitle":"Generate a sitemap from an index","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/tutorial/generate-sitemap-from-index"}]}]},{"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","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","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"}]},{"group":"Account management","pages":[{"title":"Manage your Algolia applications","sidebarTitle":"Manage your apps","href":"/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-your-apps"},{"title":"Set up Algolia through the AWS Marketplace","sidebarTitle":"Set up billing through 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":"Suggested Actions","pages":[{"title":"Suggested Actions","href":"/doc/rest-api/suggested-actions"}]},{"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":"AI-assisted transformations - Algolia","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DTFzvaXJ.js","lightbox-handle-r17bVUz3.js"]}