{"id":1265,"date":"2025-04-09T21:49:19","date_gmt":"2025-04-09T21:49:19","guid":{"rendered":"https:\/\/www.naveedulhaq.com\/?p=1265"},"modified":"2025-04-16T09:52:33","modified_gmt":"2025-04-16T09:52:33","slug":"integrating-optimizely-azure-ai-search-anger-for-site-search","status":"publish","type":"post","link":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/","title":{"rendered":"Integrating Optimizely CMS with Azure AI Search \u2013 A Game-Changer for Site Search"},"content":{"rendered":"\n<p>Want to elevate your Optimizely PaaS CMS site&#8217;s search capabilities? Azure AI Search could be just the tool you need! In this blog, I\u2019ll discuss how to connect your CMS with Microsoft\u2019s advanced AI-driven search platform to create fast, smart search experiences that surpass regular keyword searches.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"521\" height=\"980\" src=\"https:\/\/www.naveedulhaq.com\/wp-content\/uploads\/2025\/04\/optimizely-azure-AI-search.png\" loading=\"lazy\" alt=\"Optimizely &amp; Azure AI Service\" class=\"wp-image-1276\" srcset=\"https:\/\/www.naveedulhaq.com\/wp-content\/uploads\/2025\/04\/optimizely-azure-AI-search.png 521w, https:\/\/www.naveedulhaq.com\/wp-content\/uploads\/2025\/04\/optimizely-azure-AI-search-159x300.png 159w\" sizes=\"auto, (max-width: 521px) 100vw, 521px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What is Azure AI Search?<\/h2>\n\n\n\n<p>Azure AI Search is Microsoft&#8217;s cloud-based search service powered by AI. It enables you to index, search, and analyze extensive amounts of content utilizing full-text searches, faceted navigation, and machine-learning features (such as language comprehension and semantic search).<\/p>\n\n\n\n<p><strong>Why it&#8217;s great<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Super fast and scalable search experiences.<\/li>\n\n\n\n<li>Built-in AI for enhanced relevance.<\/li>\n\n\n\n<li>Smooth integration with other Azure services.<\/li>\n<\/ul>\n\n\n\n<p>In short: it&#8217;s intelligent search made user-friendly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Advantages of Integrating with Optimizely CMS<\/h2>\n\n\n\n<p>Before we get into the benefits, let\u2019s take a moment to consider how Azure AI Search compares to Optimizely\u2019s native search functionalities. Optimizely Search (which relies on Lucene or Find\/Search &amp; Navigation) works well for straightforward keyword searches and basic filters, and it&#8217;s closely tied to the CMS. However, it doesn\u2019t offer the advanced AI features, scalability, or flexibility that Azure provides right off the bat. Azure AI Search enriches the search experience with functionalities like semantic search, cognitive enhancements, and external data indexing, making it perfect for enterprise-level sites with intricate search requirements.<\/p>\n\n\n\n<p>Here\u2019s why merging these two solutions is beneficial:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Improved search experiences with AI-based relevance.<\/li>\n\n\n\n<li>Scalable and dependable \u2013 allow Azure to manage the heavy lifting.<\/li>\n\n\n\n<li>Customized content indexing from your CMS using APIs or jobs.<\/li>\n\n\n\n<li>Advanced options such as filtering, faceting, auto-complete, and more.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How to Get Started with Azure AI Search<\/h2>\n\n\n\n<p>To set up Azure AI Search, just follow these steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log in to the Azure Portal and look for AI Search.<\/li>\n\n\n\n<li>Click &#8216;Create&#8217; to configure the following:\n<ul class=\"wp-block-list\">\n<li>Name<\/li>\n\n\n\n<li>Resource Group<\/li>\n\n\n\n<li>Pricing Tier (including a free tier!)<\/li>\n\n\n\n<li>Region<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>Once created, make sure to note down the Search Service Name and Admin API Key \u2013 you\u2019ll need these to send and retrieve data.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Custom Scheduled Job to Sync Updated Content with Azure AI Search Using ServiceAPI<\/h2>\n\n\n\n<p>By utilizing the Optimizely ServiceAPI, we can effectively get updated content and synchronize it with Azure AI Search. This process avoids the need to re-index the entire site, which helps boost performance.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;ScheduledPlugIn(DisplayName = \"Sync Updated Content to Azure Search\")]\npublic class AzureSearchJob : ScheduledJobBase\n{\n    private readonly HttpClient _httpClient;\n    private readonly string _serviceApiBaseUrl = \"https:\/\/yourwebsite.com\/episerverapi\/content\/\";\n\n    public AzureSearchJob()\n    {\n        _httpClient = new HttpClient();\n        IsStoppable = true;\n    }\n\n    public override string Execute()\n    {\n        \/\/ Step 1: Get content updated in the last 24 hours\n        var yesterday = DateTime.UtcNow.AddDays(-1).ToString(\"o\");\n        var contentApiUrl = $\"{_serviceApiBaseUrl}?updatedAfter={Uri.EscapeDataString(yesterday)}\";\n\n        var response = _httpClient.GetAsync(contentApiUrl).Result;\n        if (!response.IsSuccessStatusCode)\n            return \"Failed to fetch updated content from ServiceAPI.\";\n\n        var contentJson = response.Content.ReadAsStringAsync().Result;\n        var documents = JsonSerializer.Deserialize&lt;JsonElement&gt;(contentJson).EnumerateArray()\n            .Select(content =&gt; new Dictionary&lt;string, object&gt;\n            {\n                &#91;\"id\"] = content.GetProperty(\"ContentGuid\").ToString(),\n                &#91;\"name\"] = content.GetProperty(\"Name\").GetString(),\n                &#91;\"content\"] = content.GetProperty(\"ContentLink\").GetRawText(),\n                &#91;\"type\"] = content.GetProperty(\"ContentTypeName\").GetString()\n            }).ToList();\n\n        \/\/ Step 2: Push to Azure AI Search\n        var json = JsonSerializer.Serialize(new { value = documents });\n        var request = new HttpRequestMessage(HttpMethod.Post, \"https:\/\/&lt;search-service&gt;.search.windows.net\/indexes\/&lt;index-name&gt;\/docs\/index?api-version=2021-04-30-Preview\")\n        {\n            Content = new StringContent(json, Encoding.UTF8, \"application\/json\")\n        };\n        request.Headers.Add(\"api-key\", \"&lt;your-admin-key&gt;\");\n\n        var result = _httpClient.SendAsync(request).Result;\n        return result.IsSuccessStatusCode ? \"Success\" : \"Failed to index in Azure Search.\";\n    }\n}<\/code><\/pre>\n\n\n\n<p>You can filter and transform the ServiceAPI response further to match your index schema.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Custom Page Type and Controller\/View to Query Azure Search<\/h2>\n\n\n\n<p>Create a new page type to serve as a Search Results page.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Search Page Type<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;ContentType(DisplayName = \"Search Results Page\", GUID = \"3C918F3E-D82B-480B-9FD8-A3A1DA3ECB1B\", Description = \"Search using Azure Search\")]\npublic class AzureSearchPage : PageData\n{\n    &#91;Display(Name = \"Search Placeholder\")]\n    public virtual string PlaceholderText { get; set; }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Page Controller<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>public class AzureSearchPageController : PageController&lt;AzureSearchPage&gt;\n{\n    public ActionResult Index(AzureSearchPage currentPage, string q = \"\")\n    {\n        var results = new List&lt;string&gt;();\n\n        if (!string.IsNullOrEmpty(q))\n        {\n            var url = $\"https:\/\/&lt;search-service&gt;.search.windows.net\/indexes\/&lt;index-name&gt;\/docs?api-version=2021-04-30-Preview&amp;search={q}\";\n            using var client = new HttpClient();\n            client.DefaultRequestHeaders.Add(\"api-key\", \"&lt;your-query-key&gt;\");\n            var response = client.GetStringAsync(url).Result;\n\n            var doc = JsonDocument.Parse(response);\n            results = doc.RootElement.GetProperty(\"value\")\n                .EnumerateArray()\n                .Select(x =&gt; x.GetProperty(\"name\").GetString())\n                .ToList();\n        }\n\n        ViewBag.Results = results;\n        ViewBag.Query = q;\n        return View(currentPage);\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Search Page View<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>@model AzureSearchPage\n@{\n    Layout = \"~\/Views\/Shared\/_Layout.cshtml\";\n}\n\n&lt;h1&gt;Search Results&lt;\/h1&gt;\n&lt;form method=\"get\"&gt;\n    &lt;input type=\"text\" name=\"q\" value=\"@ViewBag.Query\" placeholder=\"@Model.PlaceholderText\" \/&gt;\n    &lt;button type=\"submit\"&gt;Search&lt;\/button&gt;\n&lt;\/form&gt;\n\n&lt;ul&gt;\n@foreach (var result in ViewBag.Results as List&lt;string&gt;)\n{\n    &lt;li&gt;@result&lt;\/li&gt;\n}\n&lt;\/ul&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Optimizely CMS \/ Azure AI Search Advanced Use Cases<\/h2>\n\n\n\n<p>Once you&#8217;re up and running, here are some next-level ideas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Semantic Search:<\/strong> Let Azure understand intent, not just keywords.<\/li>\n\n\n\n<li><strong>Auto-complete &amp; Suggestions:<\/strong> Hook into search-as-you-type features.<\/li>\n\n\n\n<li><strong>Faceted Navigation:<\/strong> Create filters by category, tags, etc.<\/li>\n\n\n\n<li><strong>AI Enrichment:<\/strong> Use Azure\u2019s skillsets to extract metadata, and analyse images, or OCR PDFs.<\/li>\n\n\n\n<li><strong>Multilingual Search:<\/strong> Azure supports search across multiple languages out of the box.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>Integrating Azure AI Search with Optimizely CMS can truly take your site search from basic to brilliant. With a bit of setup and some clean code, you&#8217;re empowering users with fast, smart, and scalable content discovery.<\/p>\n\n\n\n<p>Check for more <a href=\"https:\/\/www.naveedulhaq.com\/index.php\/tag\/optimizely-cms\/\">Optimizely  Content Cloud<\/a> blogs <\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Want to elevate your Optimizely PaaS CMS site&#8217;s search capabilities? Azure AI Search could be just the tool you need! In this blog, I\u2019ll discuss&#8230;<\/p>\n","protected":false},"author":1,"featured_media":599,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,18,4],"tags":[34,13,63,90],"class_list":["post-1265","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dot-net-core","category-azure","category-episerver","tag-ai","tag-episerver","tag-optimizely","tag-optimizely-cms"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Integrating Optimizely CMS with Azure AI Search - Naveed Ul-Haq&#039;s blog<\/title>\n<meta name=\"description\" content=\"Supercharge your Optimizely CMS with Azure AI Search for blazing-fast, intelligent results using ServiceAPI and smart content indexing.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integrating Optimizely CMS with Azure AI Search - Naveed Ul-Haq&#039;s blog\" \/>\n<meta property=\"og:description\" content=\"Supercharge your Optimizely CMS with Azure AI Search for blazing-fast, intelligent results using ServiceAPI and smart content indexing.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/\" \/>\n<meta property=\"og:site_name\" content=\"Naveed Ul-Haq&#039;s blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-09T21:49:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-16T09:52:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.naveedulhaq.com\/wp-content\/uploads\/2021\/08\/optimizely.png\" \/>\n\t<meta property=\"og:image:width\" content=\"232\" \/>\n\t<meta property=\"og:image:height\" content=\"235\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Naveed Ul-Haq\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Naveed Ul-Haq\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/\"},\"author\":{\"name\":\"Naveed Ul-Haq\",\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/#\\\/schema\\\/person\\\/dd6db5980b965fcae41e096d357c65c9\"},\"headline\":\"Integrating Optimizely CMS with Azure AI Search \u2013 A Game-Changer for Site Search\",\"datePublished\":\"2025-04-09T21:49:19+00:00\",\"dateModified\":\"2025-04-16T09:52:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/\"},\"wordCount\":557,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/#\\\/schema\\\/person\\\/dd6db5980b965fcae41e096d357c65c9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.naveedulhaq.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/optimizely.png\",\"keywords\":[\"AI\",\"episerver\",\"Optimizely\",\"Optimizely Content cloud\"],\"articleSection\":[\".NET\",\"Azure\",\"Optimizely\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/\",\"url\":\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/\",\"name\":\"Integrating Optimizely CMS with Azure AI Search - Naveed Ul-Haq&#039;s blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.naveedulhaq.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/optimizely.png\",\"datePublished\":\"2025-04-09T21:49:19+00:00\",\"dateModified\":\"2025-04-16T09:52:33+00:00\",\"description\":\"Supercharge your Optimizely CMS with Azure AI Search for blazing-fast, intelligent results using ServiceAPI and smart content indexing.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.naveedulhaq.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/optimizely.png\",\"contentUrl\":\"https:\\\/\\\/www.naveedulhaq.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/optimizely.png\",\"width\":232,\"height\":235,\"caption\":\"optimizely (Episerver)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/index.php\\\/episerver\\\/integrating-optimizely-azure-ai-search-anger-for-site-search\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.naveedulhaq.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integrating Optimizely CMS with Azure AI Search \u2013 A Game-Changer for Site Search\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/#website\",\"url\":\"https:\\\/\\\/www.naveedulhaq.com\\\/\",\"name\":\"Naveed Ul-Haq's blog\",\"description\":\"AI, Optimizely, Azure &amp; more\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/#\\\/schema\\\/person\\\/dd6db5980b965fcae41e096d357c65c9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.naveedulhaq.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.naveedulhaq.com\\\/#\\\/schema\\\/person\\\/dd6db5980b965fcae41e096d357c65c9\",\"name\":\"Naveed Ul-Haq\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/362536aba6cc66917d7558cacd015a81c7cdf1a69b9a28c994764847c487b692?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/362536aba6cc66917d7558cacd015a81c7cdf1a69b9a28c994764847c487b692?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/362536aba6cc66917d7558cacd015a81c7cdf1a69b9a28c994764847c487b692?s=96&d=mm&r=g\",\"caption\":\"Naveed Ul-Haq\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/362536aba6cc66917d7558cacd015a81c7cdf1a69b9a28c994764847c487b692?s=96&d=mm&r=g\"},\"description\":\"I lead engineering delivery teams for digital commerce and digital experience platforms, combining hands-on architecture experience with strong delivery governance. Over 20+ years, I\u2019ve built and led cross\u2011functional teams (engineering, BA, QA) delivering modern cloud solutions on Azure, microservices, APIs and eCommerce\\\/CMS platforms. My recent focus includes AI-enabled commerce automation: product ingestion and enrichment workflows, content optimisation for SEO and shopping feeds, and agentic tooling to improve marketing and accessibility workflows. I\u2019m passionate about building high-performing teams, establishing quality\\\/release standards, and delivering measurable outcomes across performance, reliability, and speed of change.\",\"sameAs\":[\"https:\\\/\\\/www.naveedulhaq.com\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/naveedulhaq\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Integrating Optimizely CMS with Azure AI Search - Naveed Ul-Haq&#039;s blog","description":"Supercharge your Optimizely CMS with Azure AI Search for blazing-fast, intelligent results using ServiceAPI and smart content indexing.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/","og_locale":"en_GB","og_type":"article","og_title":"Integrating Optimizely CMS with Azure AI Search - Naveed Ul-Haq&#039;s blog","og_description":"Supercharge your Optimizely CMS with Azure AI Search for blazing-fast, intelligent results using ServiceAPI and smart content indexing.","og_url":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/","og_site_name":"Naveed Ul-Haq&#039;s blog","article_published_time":"2025-04-09T21:49:19+00:00","article_modified_time":"2025-04-16T09:52:33+00:00","og_image":[{"width":232,"height":235,"url":"https:\/\/www.naveedulhaq.com\/wp-content\/uploads\/2021\/08\/optimizely.png","type":"image\/png"}],"author":"Naveed Ul-Haq","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Naveed Ul-Haq","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/#article","isPartOf":{"@id":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/"},"author":{"name":"Naveed Ul-Haq","@id":"https:\/\/www.naveedulhaq.com\/#\/schema\/person\/dd6db5980b965fcae41e096d357c65c9"},"headline":"Integrating Optimizely CMS with Azure AI Search \u2013 A Game-Changer for Site Search","datePublished":"2025-04-09T21:49:19+00:00","dateModified":"2025-04-16T09:52:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/"},"wordCount":557,"commentCount":0,"publisher":{"@id":"https:\/\/www.naveedulhaq.com\/#\/schema\/person\/dd6db5980b965fcae41e096d357c65c9"},"image":{"@id":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/#primaryimage"},"thumbnailUrl":"https:\/\/www.naveedulhaq.com\/wp-content\/uploads\/2021\/08\/optimizely.png","keywords":["AI","episerver","Optimizely","Optimizely Content cloud"],"articleSection":[".NET","Azure","Optimizely"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/","url":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/","name":"Integrating Optimizely CMS with Azure AI Search - Naveed Ul-Haq&#039;s blog","isPartOf":{"@id":"https:\/\/www.naveedulhaq.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/#primaryimage"},"image":{"@id":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/#primaryimage"},"thumbnailUrl":"https:\/\/www.naveedulhaq.com\/wp-content\/uploads\/2021\/08\/optimizely.png","datePublished":"2025-04-09T21:49:19+00:00","dateModified":"2025-04-16T09:52:33+00:00","description":"Supercharge your Optimizely CMS with Azure AI Search for blazing-fast, intelligent results using ServiceAPI and smart content indexing.","breadcrumb":{"@id":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/#primaryimage","url":"https:\/\/www.naveedulhaq.com\/wp-content\/uploads\/2021\/08\/optimizely.png","contentUrl":"https:\/\/www.naveedulhaq.com\/wp-content\/uploads\/2021\/08\/optimizely.png","width":232,"height":235,"caption":"optimizely (Episerver)"},{"@type":"BreadcrumbList","@id":"https:\/\/www.naveedulhaq.com\/index.php\/episerver\/integrating-optimizely-azure-ai-search-anger-for-site-search\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.naveedulhaq.com\/"},{"@type":"ListItem","position":2,"name":"Integrating Optimizely CMS with Azure AI Search \u2013 A Game-Changer for Site Search"}]},{"@type":"WebSite","@id":"https:\/\/www.naveedulhaq.com\/#website","url":"https:\/\/www.naveedulhaq.com\/","name":"Naveed Ul-Haq's blog","description":"AI, Optimizely, Azure &amp; more","publisher":{"@id":"https:\/\/www.naveedulhaq.com\/#\/schema\/person\/dd6db5980b965fcae41e096d357c65c9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.naveedulhaq.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/www.naveedulhaq.com\/#\/schema\/person\/dd6db5980b965fcae41e096d357c65c9","name":"Naveed Ul-Haq","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/362536aba6cc66917d7558cacd015a81c7cdf1a69b9a28c994764847c487b692?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/362536aba6cc66917d7558cacd015a81c7cdf1a69b9a28c994764847c487b692?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/362536aba6cc66917d7558cacd015a81c7cdf1a69b9a28c994764847c487b692?s=96&d=mm&r=g","caption":"Naveed Ul-Haq"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/362536aba6cc66917d7558cacd015a81c7cdf1a69b9a28c994764847c487b692?s=96&d=mm&r=g"},"description":"I lead engineering delivery teams for digital commerce and digital experience platforms, combining hands-on architecture experience with strong delivery governance. Over 20+ years, I\u2019ve built and led cross\u2011functional teams (engineering, BA, QA) delivering modern cloud solutions on Azure, microservices, APIs and eCommerce\/CMS platforms. My recent focus includes AI-enabled commerce automation: product ingestion and enrichment workflows, content optimisation for SEO and shopping feeds, and agentic tooling to improve marketing and accessibility workflows. I\u2019m passionate about building high-performing teams, establishing quality\/release standards, and delivering measurable outcomes across performance, reliability, and speed of change.","sameAs":["https:\/\/www.naveedulhaq.com","https:\/\/www.linkedin.com\/in\/naveedulhaq\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.naveedulhaq.com\/index.php\/wp-json\/wp\/v2\/posts\/1265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.naveedulhaq.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.naveedulhaq.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.naveedulhaq.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.naveedulhaq.com\/index.php\/wp-json\/wp\/v2\/comments?post=1265"}],"version-history":[{"count":0,"href":"https:\/\/www.naveedulhaq.com\/index.php\/wp-json\/wp\/v2\/posts\/1265\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.naveedulhaq.com\/index.php\/wp-json\/wp\/v2\/media\/599"}],"wp:attachment":[{"href":"https:\/\/www.naveedulhaq.com\/index.php\/wp-json\/wp\/v2\/media?parent=1265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.naveedulhaq.com\/index.php\/wp-json\/wp\/v2\/categories?post=1265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.naveedulhaq.com\/index.php\/wp-json\/wp\/v2\/tags?post=1265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}