{"id":1186,"date":"2019-06-27T00:00:00","date_gmt":"2019-06-27T00:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search"},"modified":"2025-06-24T23:02:34","modified_gmt":"2025-06-25T06:02:34","slug":"leveraging-complex-data-to-build-advanced-search-applications-with-azure-search","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/","title":{"rendered":"Leveraging complex data to build advanced search applications with Azure Search"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Data is rarely simple. Not every piece of data we have can fit nicely into a single Excel worksheet of rows and columns. Data has many diverse relationships such as the multiple locations and phone numbers for a single customer or multiple authors and genres of a single book. Of course, relationships typically are even more complex than this, and as we start to leverage AI to understand our data the additional learnings we get only add to the complexity of relationships. For that reason, expecting customers to have to flatten the data so it can be searched and explored is often unrealistic. We heard this often and it quickly became our <a href=\"https:\/\/feedback.azure.com\/forums\/263029-azure-search\/suggestions\/6670910-modelling-complex-types-in-indexes\" target=\"_blank\" rel=\"noreferrer noopener\">number one most requested Azure Search feature<\/a>. Because of this we were excited to announce the general availability of complex types support in Azure Search. In this post, I want to take some time to explain what complex types adds to Azure Search and the kinds of things you can build using this capability.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Azure Search is a platform as a service that helps developers create their own cloud search solutions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-complex-data\">What is complex data?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Complex data consists of data that includes hierarchical or nested substructures that do not break down neatly into a tabular rowset. For example a book with multiple authors, where each author can have multiple attributes, can\u2019t be represented as a single row of data unless there is a way to model the authors as a collection of objects. Complex types provide this capability, and they can be used when the data cannot be modeled in simple field structures such as strings or integers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"complex-types-applicability\">Complex types applicability<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At Microsoft Build 2019,&nbsp; we demonstrated how complex types could be leveraged to <a href=\"https:\/\/mybuild.techcommunity.microsoft.com\/sessions\/76964?source=sessions\">build out an effective search application<\/a>. In the session we looked at the Travel Stack Exchange site, one of the many online communities supported by StackExchange.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The StackExchange data was modeled in a JSON structure to allow easy ingestion it into Azure Search. If we look at the first post made to this site and focus on the first few fields, we see that all of them can be modeled using simple datatypes, including tags which can be modeled as a <a href=\"https:\/\/docs.microsoft.com\/en-us\/rest\/api\/searchservice\/supported-data-types\">collection<\/a>, or array of strings.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n{\n   \"id\": \"1\",\n    \"CreationDate\": \"2011-06-21T20:19:34.73\",\n    \"Score\": 8,\n    \"ViewCount\": 462,\n    \"BodyHTML\": \"\nMy fianc\u00e9e and I are looking for a good Caribbean cruise in October and were wondering which\n    \"Body\": \"my fianc\u00e9e and i are looking for a good caribbean cruise in october and were wondering which islands\n    \"OwnerUserId\": 9,\n    \"LastEditorUserId\": 101,\n    \"LastEditDate\": \"2011-12-28T21:36:43.91\",\n    \"LastActivityDate\": \"2012-05-24T14:52:14.76\",\n    \"Title\": \"What are some Caribbean cruises for October?\",\n    \"Tags\": [\n        \"caribbean\",\n        \"cruising\",\n        \"vacations\"\n    ],\n    \"AnswerCount\": 4,\n    \"CommentCount\": 4,\n    \"CloseDate\": \"0001-01-01T00:00:00\",\u200b\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">However, as we look further down this dataset we see that the data quickly gets more complex and cannot be mapped into a flat structure. For example, there can be numerous comments and answers associated with a single document.\u00a0 Even votes is defined here as a complex type (although technically it could have been flattened, but that would add work to transform the data).<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n\"CloseDate\": \"0001-01-01T00:00:00\",\n    \"Comments\": [\n        {\n            \"Score\": 0,\n            \"Text\": \"To help with the cruise line question: Where are you located? My wife and I live in New Orlea\n            \"CreationDate\": \"2011-06-21T20:25:14.257\",\n           \"UserId\": 12\n        },\n        {\n            \"Score\": 0,\n            \"Text\": \"Toronto, Ontario. We can fly out of anywhere though.\",\n            \"CreationDate\": \"2011-06-21T20:27:35.3\",\n            \"UserId\": 9\n        },\n        {\n            \"Score\": 3,\n            \"Text\": \"\"Best\" for what?  Please read [this page](\n            \"UserId\": 20\n        },\n        {\n            \"Score\": 2,\n            \"Text\": \"What do you want out of a cruise? To relax on a boat? To visit islands? Culture? Adventure?\n            \"CreationDate\": \"2011-06-24T05:07:16.643\",\n            \"UserId\": 65\n        }\n    ],\n    \"Votes\": {\n        \"UpVotes\": 10,\n        \"DownVotes\": 2\n    },\n    \"Answers\": [\n        {\n            \"IsAcceptedAnswer\": \"True\",\n            \"Body\": \"This is less than an answer, but more than a comment\u2026nnA large percentage of your travel b\n            \"Score\": 7,\n            \"CreationDate\": \"2011-06-24T05:12:01.133\",\n            \"OwnerUserId\": 74\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">All of this data is important to the search experience. For example, you might want to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/rest\/api\/searchservice\/search-documents\" target=\"_blank\" rel=\"noreferrer noopener\">Search for and highlight<\/a> phrases not only in the original question, but also in any of the comments.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/azure\/search\/search-filters\" target=\"_blank\" rel=\"noreferrer noopener\">Limit documents<\/a>\u00a0to those where an answer was provided by a specific user.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/azure\/search\/index-add-scoring-profiles\" target=\"_blank\" rel=\"noreferrer noopener\">Boost certain documents<\/a>\u00a0higher in the search results when they have a higher number of up votes.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In fact, we could even improve on the existing StackExchange search interface by leveraging <a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/announcing-cognitive-search-azure-search-cognitive-capabilities\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cognitive Search<\/a> to extract key phrases from the answers to supply potential phrases for <a href=\"https:\/\/docs.microsoft.com\/rest\/api\/searchservice\/autocomplete\" target=\"_blank\" rel=\"noreferrer noopener\">autocomplete<\/a> as the user types in the search box.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All of this is now possible because not only can you map this data to a complex structure, but the search queries can support this enhanced structure to help build out a better search experience.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"next-steps\">Next Steps<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you would like to learn more about Azure Search complex types, please visit the <a href=\"https:\/\/docs.microsoft.com\/azure\/search\/search-howto-complex-data-types\" target=\"_blank\" rel=\"noreferrer noopener\">documentation<\/a>, or check out the <a href=\"https:\/\/mybuild.techcommunity.microsoft.com\/sessions\/76964?source=sessions\" target=\"_blank\" rel=\"noreferrer noopener\">video<\/a> and associated <a href=\"https:\/\/github.com\/liamca\/build2019aidemos\" target=\"_blank\" rel=\"noreferrer noopener\">code<\/a> I made which digs into this Travel StackExchange data in more detail.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Data is rarely simple.  Not every piece of data we have can fit nicely into a single Excel worksheet of rows and columns.  Data has many diverse relationships such as the multiple locations and phone numbers for a single customer or multiple authors and genres of a single book.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1454],"tags":[],"audience":[3057,3055,3056],"content-type":[1511],"product":[2757,3164],"tech-community":[],"topic":[],"coauthors":[488],"class_list":["post-1186","post","type-post","status-publish","format-standard","hentry","category-ai-machine-learning","audience-data-professionals","audience-developers","audience-it-implementors","content-type-best-practices","product-azure-ai-search","product-microsoft-foundry","review-flag-1-1680286581-825","review-flag-2-1680286581-601","review-flag-3-1680286581-173","review-flag-4-1680286581-250","review-flag-7-1680286581-146","review-flag-8-1680286581-263","review-flag-9-1680286581-259","review-flag-anywh-1680286580-635","review-flag-gener-1680286584-335","review-flag-lever-1680286579-649","review-flag-new-1680286579-546"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Leveraging complex data to build advanced search applications with Azure Search | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"Data is rarely simple. Not every piece of data we have can fit nicely into a single Excel worksheet of rows and columns. Data has many diverse relationships such as the multiple locations and phone numbers for a single customer or multiple authors and genres of a single book.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Leveraging complex data to build advanced search applications with Azure Search | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"Data is rarely simple. Not every piece of data we have can fit nicely into a single Excel worksheet of rows and columns. Data has many diverse relationships such as the multiple locations and phone numbers for a single customer or multiple authors and genres of a single book.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-27T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-25T06:02:34+00:00\" \/>\n<meta name=\"author\" content=\"Liam Cavanagh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Liam Cavanagh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. 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:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/liam-cavanagh\/\",\"@type\":\"Person\",\"@name\":\"Liam Cavanagh\"}],\"headline\":\"Leveraging complex data to build advanced search applications with Azure Search\",\"datePublished\":\"2019-06-27T00:00:00+00:00\",\"dateModified\":\"2025-06-25T06:02:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/\"},\"wordCount\":623,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"articleSection\":[\"AI + machine learning\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/\",\"name\":\"Leveraging complex data to build advanced search applications with Azure Search | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"datePublished\":\"2019-06-27T00:00:00+00:00\",\"dateModified\":\"2025-06-25T06:02:34+00:00\",\"description\":\"Data is rarely simple. Not every piece of data we have can fit nicely into a single Excel worksheet of rows and columns. Data has many diverse relationships such as the multiple locations and phone numbers for a single customer or multiple authors and genres of a single book.\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI + machine learning\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/ai-machine-learning\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Leveraging complex data to build advanced search applications with Azure Search\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Leveraging complex data to build advanced search applications with Azure Search | Microsoft Azure Blog","description":"Data is rarely simple. Not every piece of data we have can fit nicely into a single Excel worksheet of rows and columns. Data has many diverse relationships such as the multiple locations and phone numbers for a single customer or multiple authors and genres of a single book.","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:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/","og_locale":"en_US","og_type":"article","og_title":"Leveraging complex data to build advanced search applications with Azure Search | Microsoft Azure Blog","og_description":"Data is rarely simple. Not every piece of data we have can fit nicely into a single Excel worksheet of rows and columns. Data has many diverse relationships such as the multiple locations and phone numbers for a single customer or multiple authors and genres of a single book.","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2019-06-27T00:00:00+00:00","article_modified_time":"2025-06-25T06:02:34+00:00","author":"Liam Cavanagh","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Liam Cavanagh","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/liam-cavanagh\/","@type":"Person","@name":"Liam Cavanagh"}],"headline":"Leveraging complex data to build advanced search applications with Azure Search","datePublished":"2019-06-27T00:00:00+00:00","dateModified":"2025-06-25T06:02:34+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/"},"wordCount":623,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"articleSection":["AI + machine learning"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/","name":"Leveraging complex data to build advanced search applications with Azure Search | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"datePublished":"2019-06-27T00:00:00+00:00","dateModified":"2025-06-25T06:02:34+00:00","description":"Data is rarely simple. Not every piece of data we have can fit nicely into a single Excel worksheet of rows and columns. Data has many diverse relationships such as the multiple locations and phone numbers for a single customer or multiple authors and genres of a single book.","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/leveraging-complex-data-to-build-advanced-search-applications-with-azure-search\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"AI + machine learning","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/ai-machine-learning\/"},{"@type":"ListItem","position":3,"name":"Leveraging complex data to build advanced search applications with Azure Search"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=1186"}],"version-history":[{"count":1,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1186\/revisions"}],"predecessor-version":[{"id":43114,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1186\/revisions\/43114"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=1186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=1186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=1186"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=1186"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=1186"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=1186"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=1186"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=1186"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=1186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}