Does Azure Search use vector indexes?

Sean Walsh 50 Reputation points
2024-07-18T11:17:57.6+00:00

I've been using Azure Search for months now, using an Indexer to load data in from an Azure SQL database. I use the Azure Open AI functions with the cognitive search extension, to provide essentially a "Bring-You-Own-Data" chatbot experience.

This has been working really well, but I was asked what embedding the process uses, so I tried to find out. I don't know where to look, and am even having doubts now about whether it uses one at all - I assumed loading the data in via the indexer would apply some kind of embedding to create and store the vectors, all "behind the scenes". But now I'm not sure - there are no fields set up as vector fields, no vector profiles - so is this just keyword/full-text search? It can't be because the results are just way better than you'd expect from that. It does use Semantic Search - I have a configuration set up. I believe that uses vectors/embeddings, but which embedding, and can I customize that?

I'm just a little confused as to what the difference would be between what I have, and creating my own vector fields, choosing and using an embedding, etc. The way it is now, it's dead easy - just set up an indexer to load in the data and it works. But am I missing out of vector search benefits?

Azure AI Search
Azure AI Search
An Azure search service with built-in artificial intelligence capabilities that enrich information to help identify and explore relevant content at scale.
1,049 questions
{count} votes

1 answer

Sort by: Most helpful
  1. ajkuma 26,466 Reputation points Microsoft Employee
    2024-07-26T17:55:29.2233333+00:00

    Sean Walsh, Firstly, apologies for the delayed response.

    Based on my understanding of your question description, Vector support includes indexing, storing, and querying of vector embeddings from a search index.

    Azure Cognitive Search allows you to create vector fields in your index, where you can store embeddings generated by your chosen model. These embeddings are used to perform vector similarity searches, which can provide more relevant results compared to traditional keyword searches.

    The semantic search feature in Azure Cognitive Search does use embeddings to understand the context and meaning of the search queries and documents. This is why you are seeing better results than you would expect from keyword searches.

    You may choose your own embedding model and use it to generate embeddings for your data. These embeddings can then be added to a vector field in your index. This allows you to customize the embeddings based on your specific use case and improve the search results further

    To fully leverage vector search capabilities, you may set up vector fields in your index. This involves defining the vector field in your index schema and ensuring that the embeddings are correctly stored in these fields

    By explicitly setting up vector fields and using embeddings, you may take advantage of advanced search features such as approximate nearest neighbor search, which can provide more accurate and relevant search results.

    I see that you have posted a similar question on SO.

    Checkout this doc for more info: Vectors in Azure AI Search

    Just to highlight (from the doc), the diagram which shows the indexing and query workflows for vector search.

    User's image


     If the answer helped (pointed, you in the right direction) > please click Accept Answer - it will benefit community members to find the answers quickly. 

    1 person found this answer helpful.
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.