Edit

Share via


What's Azure AI Search?

Azure AI Search is a scalable search infrastructure that indexes heterogeneous content and enables retrieval through APIs, applications, and AI agents. The platform provides native integrations with Azure's AI stack (OpenAI, AI Foundry, Machine Learning) and supports extensible architectures for third-party and open-source model integration.

The service handles both traditional search workloads and modern RAG (retrieval-augmented generation) patterns for conversational AI applications. This makes it suitable for enterprise search scenarios as well as AI-powered customer experiences that require dynamic content generation through chat completion models.

When you create a search service, you work with the following capabilities:

  • A search engine for agentic search, vector search, full text, multimodal search, or hybrid search.
  • Content processing during indexing that can add structure and transformations.
  • Extensive query syntax for agents, vectors, text, hybrid, and multimodal queries.
  • Smart results through semantic ranking, scoring profiles, and parameterized queries.
  • Azure scale, security, and reach.
  • Azure integration at the data layer, machine learning layer, Azure AI services, and Azure OpenAI.

Architecturally, a search service sits between the external data stores that contain your un-indexed data, and your client app that sends query requests to a search index and handles the response.

Azure AI Search architecture

On the indexing side, if your content is on Azure, you can used indexers and skillsets for automated and AI-enriched indexing. Or, create a logic app workflow for equivalent automation over an even broader set of supported data sources.

On the retrieval side, your app can be an agent or tool, a bot, or any client that sends requests to a search index or knowledge agent.

Within Azure AI Search, the indexing and query engine is the same component operating in read-write and read-only modes, but we split it up in this diagram to indicate the type of work being performed.

Inside a search service

On the search service itself, the two primary workloads are indexing and querying.

  • Indexing is an intake process that loads content into your search service and makes it searchable. Internally, inbound text is processed into tokens and stored in inverted indexes, and inbound vectors are stored in vector indexes. The document format that Azure AI Search can index is JSON. You can upload JSON documents, or use an indexer or a logic app workflow to retrieve and serialize your data into JSON.

    AI enrichment is through a skillset that extends indexing with image and language models. If you have images or large unstructured text in source document, you can attach skills that chunk and vectorize content. If you have image content, you can use LLMs to summarize content, generate descriptions, or perform OCR and image analysis. Skills can also infer structure, translate text, and more. Output is text or vectors that can be serialized into JSON and ingested into a search index.

  • Querying can happen once an index is populated with searchable content, when your client app sends query requests to a search service and handles responses. All query execution is over a search index that you control. In your code, set up a search client to handle query requests for agentic queries, vector queries, text search, hybrid queries, fuzzy search, autocomplete, geo-search, and others.

Azure AI Search offloads indexing and query workloads onto a dedicated search service. It's well suited for the following application scenarios:

  • Use it for empowering agents and bots with grounding data based on your content.

  • Use it for traditional full text search and next-generation vector similarity search. Back your generative AI apps with information retrieval that leverages the strengths of both keyword and similarity search. Use both modalities to retrieve the most relevant results.

  • Consolidate heterogeneous content into a user-defined and populated search index composed of vectors and text. You maintain ownership and control over what's searchable.

  • Transform large undifferentiated text or image files, or application files stored in Azure Blob Storage or Azure Cosmos DB, into searchable chunks. This is achieved during indexing through AI skills that add external processing from Azure AI.

  • Integrate data chunking and vectorization for generative AI and RAG apps.

  • Add linguistic or custom text analysis for keyword search. If you have non-English content, Azure AI Search supports both Lucene analyzers and Microsoft's natural language processors. You can also configure analyzers to achieve specialized processing of raw content, such as filtering out diacritics, or recognizing and preserving patterns in strings.

  • Easily implement search-related features: relevance tuning, faceted navigation, filters (including geo-spatial search), synonym mapping, and autocomplete.

  • Apply granular access control at the document level.

For more information about specific functionality, see Features of Azure AI Search

How to get started

Functionality is exposed through the Azure portal, simple REST APIs, or Azure SDKs like the Azure SDK for .NET. The Azure portal supports service administration and content management, with tools for prototyping and querying your indexes and skillsets.

Use the Azure portal

An end-to-end exploration of core search features can be accomplished in four steps:

  1. Decide on a tier and region. One free search service is allowed per subscription. Most quickstarts can be completed on the free tier. For more capacity and capabilities, you need a billable tier.

  2. Create a search service in the Azure portal.

  3. Start with Import data wizard. Choose a built-in sample or a supported data source to create, load, and query an index in minutes.

  4. Finish with Search Explorer, using a portal client to query the search index you just created.

Check out samples

We maintain an inventory of samples that use the REST APIs and the Azure SDK programming languages supported by Azure AI Search:

Use APIs

Alternatively, you can create, load, and query a search index in atomic steps:

  1. Create a search index using the Azure portal, REST API, .NET SDK, or another SDK. The index schema defines the structure of searchable content.

  2. Upload content using the "push" model to push JSON documents from any source, or use the "pull" model (indexers) if your source data is of a supported type.

  3. Query an index using Search explorer in the Azure portal, REST API, .NET SDK, or another SDK.

Use accelerators

Or, try solution accelerators:

Tip

For help with complex or custom solutions, contact a partner with deep expertise in Azure AI Search technology.