Azure Cognitive Search
Azure Cognitive Search is the former name of a Microsoft cloud-based search service, now known as Azure AI Search, that enables developers to index, enrich, and query large volumes of heterogeneous content—including text, images, and vectors—for building scalable search experiences in applications, websites, and AI agents.[1] Launched in 2015 as Azure Search, it evolved to incorporate AI capabilities, reflecting its growing role in information retrieval for both traditional full-text search and modern retrieval-augmented generation (RAG) scenarios.[2] The service underwent significant rebranding to align with advancements in artificial intelligence. In October 2019, it was renamed Azure Cognitive Search to emphasize the integration of optional cognitive skills for AI-driven data enrichment during indexing, such as text analysis, image processing, and entity recognition.[2] By November 2023, it was further renamed Azure AI Search to better position it within Microsoft's broader Azure AI ecosystem, enhancing support for multimodal and hybrid search while maintaining backward compatibility with existing implementations.[2] This evolution underscores its transition from a basic search engine to a foundational component for enterprise AI applications, powering agentic retrieval in conversational AI and knowledge mining workflows.[1] Key features of Azure AI Search (formerly Azure Cognitive Search) include scalable indexing pipelines with built-in AI enrichment via customizable skillsets, advanced query options like semantic ranking, vector similarity search, and hybrid combinations of keyword and AI-based retrieval.[1] It integrates natively with other Azure services, such as Azure AI Foundry for model deployment, Azure OpenAI for generative capabilities, and data sources like Azure SQL Database, Blob Storage, and Cosmos DB, ensuring secure, enterprise-grade access controls through Azure Active Directory and private endpoints.[1] As of 2025, recent updates have expanded multimodal support for processing images and text together, along with improved performance for high-scale vector operations, making it suitable for diverse use cases from e-commerce search to internal knowledge bases.[2]History
Initial Launch as Azure Search
Azure Search was introduced in public preview on August 21, 2014, as a fully managed cloud-based search service designed to provide full-text search capabilities for applications hosted on the Microsoft Azure platform.[3] This launch addressed the need for developers to integrate scalable search functionality without the overhead of managing search infrastructure, offering a free tier supporting up to 10,000 documents and three indexes, alongside a standard tier for larger-scale deployments with tens of millions of documents.[3] Initial indexing was supported through a push API that allowed data ingestion from sources such as Azure SQL Database, Azure DocumentDB, Azure Blob Storage, Azure Table Storage, on-premises systems, or even non-Azure cloud environments, with batch uploads limited to 1,000 documents per request.[3] The service achieved general availability on March 23, 2015, marking its readiness for production use with an enterprise-grade service level agreement (SLA).[4] At this milestone, Azure Search introduced dedicated indexers to automate data loading from Azure SQL Database, Azure DocumentDB, and SQL Server running on Azure Virtual Machines, streamlining the process of populating search indexes without manual API calls.[4] A .NET SDK was made available via NuGet in Visual Studio, facilitating integration into .NET applications.[4] From its inception, querying in Azure Search emphasized OData-based expressions for filtering, ordering, selecting, and paginating results via simple HTTP GET requests, enabling structured data manipulation in search responses.[3] Basic integration with Lucene query syntax provided support for advanced full-text search features, including keyword matching, phrase searches, and relevance ranking based on term frequency and document statistics.[3] These capabilities catered primarily to enterprise search scenarios, such as powering search experiences in web and mobile applications for e-commerce platforms like Autotrader.ca, which served over 5 million monthly users, or omnichannel retail solutions like XOMNI for retailers including GameStop, all while abstracting away infrastructure management.[4]Evolution to Cognitive Capabilities
In May 2018, Microsoft announced the public preview of Cognitive Search, an enhancement to Azure Search that integrated Azure Cognitive Services to enable automatic content extraction and enrichment during indexing. This feature allowed developers to apply AI models directly in the search pipeline, extracting insights from unstructured data such as text in images via optical character recognition (OCR), named entity recognition for identifying people, organizations, and locations, key phrase extraction, language detection, and image analysis for tagging and describing visual content. By combining these capabilities, Cognitive Search transformed raw documents—like PDFs, scanned images, and multimedia files—into searchable knowledge graphs, supporting use cases such as intelligent document processing and enhanced discovery in enterprise applications.[5] A key innovation introduced with this preview was the concept of skillsets, which provided a framework for chaining multiple AI models in a modular pipeline during data ingestion. Skillsets enabled sequential processing, where outputs from one skill—such as text extracted via OCR—could feed into subsequent skills like text analytics for sentiment analysis or entity linking, or image analysis for object detection and captioning. This composable approach allowed customization through built-in skills from Azure Cognitive Services or custom extensions via webhooks, such as Azure Functions, facilitating scalable AI enrichment without requiring separate preprocessing steps.[5] To underscore its growing emphasis on AI-driven search, Microsoft officially renamed the service from Azure Search to Azure Cognitive Search in October 2019. The rebranding highlighted the optional yet integral role of cognitive skills and AI processing in core operations, including indexing and querying, positioning the service as a leader in intelligent information retrieval. This change aligned with broader Azure AI advancements, making it easier for developers to leverage unified AI tools for more insightful search experiences.[2] A significant milestone followed in 2020 with the preview of semantic search capabilities, introduced via API version 2020-06-30-Preview, which extended relevance ranking beyond traditional keyword matching. Semantic search utilized advanced natural language models to understand query intent, enabling concept-based matching, synonym recognition, and reranking of results for greater accuracy in diverse scenarios like e-commerce or knowledge bases. This feature marked a shift toward more human-like search, improving precision and recall without manual query tuning.[6]Rebranding and Recent Developments
In November 2023, Azure Cognitive Search was rebranded to Azure AI Search to better align with Microsoft's broader Azure AI services portfolio and customer expectations for AI-centric capabilities, while ensuring no breaking changes to existing deployments, configurations, or integrations.[2][7] A key enhancement in 2023 was the introduction of vector search, which enables indexing and querying based on embedding-based similarity matching to support advanced retrieval-augmented generation (RAG) patterns in generative AI applications.[8][2] Between 2024 and 2025, Azure AI Search saw significant updates, including the public preview of query rewrite in November 2024—initially available in select regions like North Europe and Southeast Asia, with broader rollout expected by 2025—to improve search relevance by automatically reformulating user queries.[2][9] Multimodal search support was also added, allowing ingestion and retrieval of content combining text and images through built-in extraction, normalization, and embedding processes.[10][11] Deeper integration with Azure OpenAI further advanced RAG workflows, enabling seamless use of enterprise data in models like GPT-4 without custom training.[12] At Microsoft Ignite 2024, announcements emphasized agentic search capabilities for AI agents, including a generative query engine optimized for RAG performance and enhanced scalability for AI workloads through increased vector and storage capacities.[13][14] These developments position Azure AI Search as a foundational service for building autonomous, scalable AI applications.[8]Overview
Core Functionality
Azure Cognitive Search, now known as Azure AI Search, is a fully managed cloud search service provided by Microsoft Azure that enables developers to build rich search experiences over private and public data sources. It serves as a scalable search infrastructure, handling the core tasks of indexing diverse content types and facilitating retrieval through APIs, applications, and AI agents. The service is designed to support enterprise-scale search scenarios, including full-text search and relevance tuning, without requiring users to manage the underlying search engine infrastructure.[1] The operational workflow of Azure Cognitive Search begins with data ingestion, where content is loaded into a searchable index. This process involves pushing JSON documents directly via APIs or using automated indexers to pull data from supported Azure sources, such as Blob Storage or Cosmos DB, transforming it into inverted indexes for text or vector indexes for embeddings. Once indexed, queries are executed through REST APIs or SDKs, where client applications submit search requests that return ranked results based on relevance scoring, including options for semantic reranking to prioritize contextually similar documents. This API-driven querying ensures low-latency retrieval, with results formatted as JSON for easy integration into web or mobile applications.[1][15] Azure Cognitive Search supports heterogeneous data sources, primarily in the form of JSON documents that can include structured, semi-structured, or unstructured content. During ingestion, particularly through tools like the Import data wizard in the Azure portal, the service performs automatic schema inference by sampling a subset of documents to detect field names, data types (such as Edm.String or Collection(Edm.ComplexType)), and relationships, generating an initial index schema that users can refine. This capability allows for flexible handling of varied data formats without manual schema definition from scratch, though complex nested structures may require field mappings for optimal indexing.[16][17] Unlike general-purpose databases such as Azure SQL Database, which are optimized for transactional storage, ACID compliance, and relational queries, Azure Cognitive Search is specialized for fast information retrieval and relevance-based ranking. It offloads search workloads from primary data stores by maintaining dedicated indexes that prioritize query performance over data modification operations, making it unsuitable for high-concurrency updates but ideal for read-heavy search applications where sub-second response times are critical. This distinction positions it as a complementary service rather than a replacement for databases, focusing on search-specific optimizations like tokenization and scoring profiles.[18][1]Role in Azure Ecosystem
Azure AI Search, formerly known as Azure Cognitive Search, serves as a core component within the Azure AI services portfolio, delivering scalable information retrieval capabilities that enhance the intelligence of cloud-based applications. It positions itself as a bridge between raw data storage and advanced analytics, complementing services like Azure Blob Storage for unstructured content ingestion and Azure Cosmos DB for NoSQL data chunking and vectorization, while integrating with compute platforms such as Azure Functions for event-driven indexing pipelines and Azure App Service for hosting search-enabled web applications. This interoperability enables developers to build end-to-end solutions where search acts as the foundational layer for data discovery and AI-driven insights.[1][15][19] The service depends on Microsoft Entra ID—previously Azure Active Directory—for authentication and authorization, supporting keyless connections via role-based access control (RBAC) to enforce granular permissions on indexes, documents, and administrative operations. For operational diagnostics, it leverages Azure Monitor to collect platform metrics on query performance, indexing throughput, and resource utilization, as well as diagnostic logs for troubleshooting and alerting on service health. These dependencies ensure secure, observable deployments within the Azure environment, aligning with broader platform governance standards.[20][21][22] In enterprise contexts, Azure AI Search extends its utility to power search experiences in Microsoft 365 ecosystems, such as indexing SharePoint document libraries for full-text retrieval, and in Dynamics 365, where it underpins cloud-powered search in commerce modules for product catalogs and knowledge mining. For custom AI applications, it exposes REST APIs for core operations like indexing and querying, alongside SDKs in .NET for managed integrations, Python for data science workflows, and JavaScript for client-side implementations, allowing seamless incorporation into hybrid or generative AI scenarios.[23][24][25] The evolution of the service reflects a shift from traditional IaaS and PaaS support for basic search workloads to an AI-first paradigm, incorporating vector search and retrieval-augmented generation (RAG) patterns to support modern AI agents and large language models. Scaling is facilitated through Azure Resource Manager (ARM), which provides templates for provisioning services, managing API keys, and adjusting replicas or partitions across pricing tiers to handle varying loads without downtime.[8][26][27]Service Model
Platform as a Service Characteristics
Azure AI Search, formerly known as Azure Cognitive Search, operates as a fully managed Platform as a Service (PaaS) offering, where Microsoft assumes responsibility for the underlying infrastructure, software updates, and maintenance. This model allows users to focus exclusively on defining search indexes, ingesting data, and crafting queries without managing servers, operating systems, or hardware provisioning. The service ensures high availability through built-in redundancy and delivers a 99.9% service level agreement (SLA) for qualifying configurations, providing enterprise-grade reliability for search workloads.[1][28] In contrast to Infrastructure as a Service (IaaS) deployments, Azure AI Search eliminates the need for virtual machine provisioning, patching, or scaling hardware, which is required for self-hosted search engines like Elasticsearch running on IaaS platforms. For instance, users deploying Elasticsearch on Azure Virtual Machines must handle cluster management, backups, and fault tolerance manually, whereas Azure AI Search automates these aspects to streamline development and reduce operational overhead. Compared to other PaaS alternatives, such as Amazon OpenSearch Service, Azure AI Search integrates natively with the Azure ecosystem, offering similar managed scalability but with tighter coupling to Azure AI services for enhanced cognitive features.[29][30] Provisioning an Azure AI Search service is straightforward and can be accomplished through the Azure portal for a graphical interface, the Azure CLI for scripted deployments, or Azure Resource Manager (ARM) templates for infrastructure-as-code automation. Upon creation, the service automatically provisions resources with partitioning to distribute data across storage units, enabling seamless horizontal scaling as query volumes grow. The resource model is based on search units, calculated as the product of partitions (for data storage and indexing capacity) and replicas (for query throughput and redundancy), which collectively determine the service's performance limits and are billed on an hourly basis.[1][31][27]Deployment Tiers and Scalability
Azure AI Search offers several deployment tiers, each designed to accommodate different workload sizes and performance needs, ranging from development and testing to large-scale production environments. The Free tier provides 50 MB of storage and supports up to 3 indexes, making it suitable for exploratory work but with shared resources and no scalability options.[31] The Basic tier, intended for small production applications, offers 15 GB of storage per partition, up to 3 replicas and 3 partitions, and supports up to 15 indexes, with dedicated resources but limited throughput compared to higher tiers.[31] Standard tiers (S1, S2, S3) provide dedicated infrastructure for enterprise workloads, with storage capacities of 160 GB, 512 GB, and 1 TB per partition respectively, supporting up to 12 replicas and 12 partitions, and up to 200 indexes in S2 and S3.[31] The S3 High Density (HD) variant optimizes for multi-tenant scenarios with up to 3,000 indexes across 3 partitions but without indexer support.[31] Storage Optimized tiers (L1 and L2) focus on high-volume, static data storage, offering 2 TB and 4 TB per partition respectively, with up to 12 partitions and 12 replicas, though at the cost of higher query latency.[31] Scalability in Azure AI Search is achieved horizontally by adjusting replicas and partitions, which form search units (SU) calculated as replicas multiplied by partitions, with a maximum of 36 SUs in Standard and Storage Optimized tiers.[32] Replicas enhance query throughput and availability by distributing read workloads across multiple instances, ideal for high queries-per-second (QPS) scenarios, while partitions increase storage capacity and support larger indexes by sharding data.[32] For instance, adding replicas improves response times for concurrent searches, but scaling operations can take 15 minutes to over an hour depending on data volume.[32] Service limits cap replicas and partitions at 3 for Basic and 12 for Standard and above, ensuring predictable performance without automatic scaling features.[31] Advanced features like vector search require a billable tier (Basic or higher) due to increased storage demands, with Standard tiers recommended for production to handle the associated vector indexing overhead, which can consume up to 300 GB in S3 configurations.[31] Best practices for deployment include starting with the Basic tier for development and testing to validate index designs and query patterns, then scaling to Standard tiers for production based on monitored QPS and latency metrics via the Azure portal.[32] Capacity planning should prioritize query-heavy workloads by allocating more replicas early, while indexing-intensive tasks benefit from additional partitions to avoid bottlenecks.[32]| Tier | Storage per Partition | Max Replicas | Max Partitions | Max Indexes | Primary Use Case |
|---|---|---|---|---|---|
| Free | 50 MB (shared) | N/A | N/A | 3 | Development/testing |
| Basic | 15 GB | 3 | 3 | 15 | Small production |
| Standard S1 | 160 GB | 12 | 12 | 50 | General enterprise |
| Standard S2 | 512 GB | 12 | 12 | 200 | High-volume queries |
| Standard S3 | 1 TB | 12 | 12 | 200 | Large-scale |
| Standard S3 HD | 1 TB | 12 | 3 | 3,000 | Multi-tenant |
| Storage Optimized L1 | 2 TB | 12 | 12 | 10 | High storage needs |
| Storage Optimized L2 | 4 TB | 12 | 12 | 10 | Massive static data |
Indexing and Data Management
Data Ingestion Methods
Azure AI Search supports two primary data ingestion models: the push model, which involves direct programmatic uploads, and the pull model, which uses automated indexers to fetch data from supported sources.[33] These methods enable efficient population of search indexes with structured and unstructured data, accommodating both real-time and scheduled updates.[15] In the push model, data is ingested by uploading JSON documents directly to the index using REST APIs or Azure SDKs in languages such as .NET, Python, or Java.[33] This approach is ideal for real-time scenarios, as it allows immediate indexing without dependencies on external data sources, supporting operations like upsert (merge or upload), merge, and delete.[33] Batches are limited to 1,000 documents or 16 MB total size, making it suitable for applications requiring fine-grained control over connectivity and update frequency.[31] The pull model employs indexers that periodically connect to data sources to extract and load content automatically, eliminating the need for custom code in many cases.[15] Built-in indexers support Azure-native sources including Blob Storage for unstructured files, SQL Database and Cosmos DB for relational data, and Table Storage for semi-structured data, including external sources like SharePoint Online, as well as OneLake for file indexing (generally available September 2025).[15] For broader external integration, custom skills can extend indexers to non-native sources through web API calls during the ingestion pipeline.[15] Indexers can be scheduled for recurring runs via the Azure portal or REST API.[33] Change detection mechanisms facilitate incremental updates in the pull model by identifying only modified or new data since the last run.[15] High-watermark tracking, such as using timestamps, is commonly applied for sources like Azure SQL and Cosmos DB to process deltas efficiently after an initial full load.[15] Soft-delete detection handles removals by querying flags or markers in the source, ensuring the index remains synchronized without full rescans.[15] These features are automatic for Azure Blob Storage and configurable for other supported sources.[15] Supported formats emphasize JSON as the primary structure for push operations, while pull indexers parse diverse inputs including CSV, PDF, and other text-based files from Blob Storage, with optional image extraction.[33][15] The maximum size per document is approximately 16 MB, aligning with API payload limits to maintain performance across tiers.[31] During ingestion, both models can integrate AI enrichments like text extraction or vectorization via skillsets, enhancing content for semantic search.[34]Index Structure and Optimization
The index schema in Azure AI Search defines the structure of searchable content through a collection of fields, each specifying a data type and attributes that determine query behavior. Supported field types includeEdm.String for text, Edm.Int32 or Edm.Double for numbers, Collection(Edm.String) for arrays, and complex types for nested structures such as addresses within hotel documents.[17] Key attributes include searchable for enabling full-text or vector search with tokenization, filterable for exact-match filtering without tokenization, sortable for ordering results, facetable for navigation facets (limited to 32 KB for strings), and key for unique identifiers (must be a single Edm.String field).[17] The retrievable attribute controls whether a field appears in query results, defaulting to true except for non-retrievable optimizations.[17]
For full-text search, Azure AI Search employs an inverted index that maps tokenized terms to the documents containing them, facilitating efficient term-based retrieval by scanning and matching against query tokens.[17] Vector fields, defined as Collection(Edm.Single) with a dimensions attribute, store embeddings for semantic similarity searches, supporting up to 4,096 dimensions per field to accommodate various embedding models (generally available August 2025).[31] These fields integrate with vector search profiles to configure algorithms like HNSW for approximate nearest neighbor indexing, with recent enhancements including multivector support for nested vector fields (preview May 2025).[17]
Optimization of the index involves analyzers, suggesters, and scoring profiles to enhance tokenization, user experience, and relevance. Analyzers process text fields during indexing and querying, using the standard Lucene tokenizer by default or custom configurations with filters for stemming, lowercasing, and stopword removal; for example, language-specific analyzers like en.microsoft support linguistic variations in English.[35] Suggesters enable autocomplete by precomputing partial term matches from designated string fields, requiring at least three characters for activation and leveraging analyzers for token generation.[36] Scoring profiles customize relevance by applying weights to fields (e.g., boosting a "title" field by a factor of 5) or functions based on freshness, magnitude, distance, or tags, allowing dynamic adjustments without index rebuilds.[37]
Best practices for index optimization emphasize selectivity and efficiency: limit searchable fields to essential content to reduce storage and processing overhead, as searchable string fields are limited to approximately 32 KB while the total document size is capped at 16 MB; filterable fields follow similar string limits but focus on exact matches without tokenization.[38] For vectors, apply scalar quantization (up to 4x compression) or binary quantization (up to 28x compression) to compress embeddings, reducing memory usage while maintaining search accuracy through techniques like rescoring (generally available August 2024).[39] Use facets judiciously for navigation to avoid performance bottlenecks, and periodically review schema composition to prune unnecessary data, ensuring smaller indexes for faster queries.[38]
Querying Capabilities
Search Query Syntax
Azure AI Search supports two primary query syntaxes for full-text search: a simple query parser, which is the default and suitable for basic keyword and phrase searches, and a full Lucene query syntax for more advanced operations.[40] These syntaxes are used in thesearch parameter of search requests, allowing users to construct expressions that match terms in indexed documents.[41]
The simple query syntax enables straightforward searches using keywords, phrases, and basic operators. Single terms or multiple words act as implicit OR queries, matching documents containing any of the terms (e.g., budget [hotel](/page/Hotel) retrieves results with either "budget" or "hotel").[42] Phrases require exact matches when enclosed in double quotes (e.g., "Roach Motel" finds only the precise sequence).[42] Boolean-like operators include + for AND (requiring all terms, e.g., [pool](/page/Pool) + [ocean](/page/Ocean)), - for NOT (excluding terms, e.g., [pool](/page/Pool) -[ocean](/page/Ocean)), and | for explicit OR (though OR is the default).[42] Prefix wildcards use * to match terms starting with a pattern (e.g., [azure](/page/Azure)* search for "azure cloud search"), limited to a maximum term length of 1000 characters.[42] Escaping special characters is done with a backslash (e.g., luxury\+[hotel](/page/Hotel) to treat + as literal).[42] This syntax applies lexical analysis for tokenization, which can be tested via the Analyze API.[42] It is limited to exact and prefix matching, without support for fuzzy or proximity searches, for which the full Lucene syntax is recommended.[42]
For complex scenarios, the full Lucene query syntax provides advanced features, enabled by setting queryType=full in the search request.[43] Boolean operators include AND (or +), OR, and NOT (or -), allowing precise combinations (e.g., wifi AND luxury requires both terms, while wifi NOT budget excludes "budget").[43] Proximity searches use the tilde operator to specify word distance (e.g., "hotel airport"~5 matches the terms within 5 words of each other).[43] Fuzzy matching approximates similar terms with ~ followed by an optional edit distance (e.g., blue~ or blue~1 for up to one edit, limited to 50 terms per query).[43] Boosting prioritizes certain terms using the caret ^ (e.g., "recently renovated"^3 weights the phrase higher by a factor of 3).[43] Examples like category:budget AND "recently renovated"^3 demonstrate field-specific and boosted queries.[43] Query size limits apply, such as 8 KB for GET requests and up to 1024 clauses.[43]
Structured queries leverage OData filter expressions via the $filter parameter to apply boolean logic on index fields, independent of full-text search.[44] Comparison operators include eq for equality (e.g., $filter=location eq 'Redmond' matches exact string values, case-sensitive by default), ne for inequality, and range operators like gt, lt, ge, le (e.g., $filter=Rating ge 4 for ratings of 4 or higher).[44] Logical operators combine conditions: and, or, not (e.g., $filter=ParkingIncluded and Rating ge 4).[44] Collection operators such as any and all handle complex fields (e.g., Rooms/any(room: room/BaseRate lt 200.0) filters rooms under $200).[44] Filters are exact matches and do not perform full-text analysis.[44]
Query requests include parameters for controlling output and navigation. The top parameter limits results (e.g., "top": 7 returns the top 7 matches).[40] Pagination uses skip to offset results (e.g., combined with top to fetch subsequent pages, like skipping 10 for the next set).[40] The select parameter projects specific fields in responses (e.g., "select": "HotelId, HotelName, Address/StreetAddress" includes only those).[40] Sorting applies via orderby using OData syntax (e.g., $orderby=field asc or multiple fields like $orderby=Rating desc, HotelName asc).[45] These parameters are specified in the request URL or body, such as in POST requests to the Search Documents API.[40]
Result Ranking and Relevance
Azure AI Search employs the BM25 algorithm as the default method for computing relevance scores in full-text search queries, ranking results based on term frequency (how often query terms appear in a document) and inverse document frequency (how rare those terms are across the entire index). This probabilistic model favors documents that contain multiple instances of the query terms while penalizing overly long documents to avoid bias toward verbose content, resulting in an unbounded score where higher values indicate greater relevance.[46] The algorithm's parameters, such as k1 (controlling term frequency saturation) and b (document length normalization), can be tuned at the index level to fine-tune scoring behavior for specific workloads.[47] Introduced in public preview in March 2021, semantic ranking enhances initial BM25 results by reranking the top 50 documents using Microsoft's deep learning language models to better capture query intent and semantic similarity. Since its introduction, semantic ranking has been enhanced with new language models in November 2024, query rewrite capabilities in preview, and support for integration with scoring profiles in May 2025 (preview), improving relevance for complex queries.[2] This AI-driven stage assigns a separate@search.rerankerScore (ranging from 4.0 for high relevance to 0.0 for low) based on contextual understanding, promoting results that align more closely with user meaning beyond exact keyword matches. To enable it, users must configure a semantic profile in the index, specifying prioritized fields like titles or content with token limits, and activate it via query parameters; it is available on Basic tier and above with associated billing for queries exceeding the free tier.[48][49]
Hit highlighting improves result usability by applying markup to matching query terms within returned document fields, allowing users to quickly identify relevant snippets. By default, Azure AI Search wraps highlighted terms in <em> tags, but custom pre- and post-tags (e.g., <b> and </b>) can be specified for styling like bolding or colorization. Configuration involves designating searchable string fields in the query request (e.g., highlight=description,title), with options to limit the number of highlights per field to control response size and performance.[50]
For tailored relevance, custom scoring profiles enable developers to modify BM25 scores through field weights, tag boosts, or mathematical functions integrated into the index definition. Field boosting assigns higher weights to important attributes, such as prioritizing a "productName" field over "description" (e.g., weight of 3.0 versus 1.0), while functions like freshness can dynamically elevate recent documents based on a datetime field, applying a decaying boost over a specified duration (e.g., stronger for items updated within the last 30 days). Distance functions further customize scores by factoring in geospatial proximity, boosting results closer to a reference location (e.g., within 5 kilometers) to support location-aware searches. Up to 100 such profiles can be defined per index, with one selected per query to balance relevance without altering the core BM25 computation.[37]