Azure AI Search Chat Extension multiple indexes with different schema

Suresh Rajamani 20 Reputation points
2023-12-29T01:55:00.01+00:00

Hi Team,

I am trying to build a gen AI chat bot for a web portal. Bot can help portal users to search or query against Technical Support Faq, User Manual Faq, search for some business data like recommendations.So data structures are different in each model and different source.

Can I search all models using a single AI search if not can you suggest some solution to achieve this feature.

Kindly Advise.

Thanks,

Suresh Rajamani

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,354 questions
Azure AI services
Azure AI services
A group of Azure services, SDKs, and APIs designed to make apps more intelligent, engaging, and discoverable.
3,629 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Vahid Ghafarpour 23,385 Reputation points Volunteer Moderator
    2023-12-29T21:01:03.59+00:00

    Thanks for posting your question in the Microsoft Q&A forum.
    For sure, you can use a single Azure AI Search with a range of search capabilities, including generative AI search, workplace search, SaaS search, and website search.

    I would try vector search as a complementary solution.

    https://techcommunity.microsoft.com/t5/ai-azure-ai-services-blog/azure-cognitive-search-outperforming-vector-search-with-hybrid/ba-p/3929167

    ** Please don't forget to close up the thread here by upvoting and accept it as an answer if it is helpful **

    0 comments No comments

  2. brtrach-MSFT 17,741 Reputation points Microsoft Employee Moderator
    2023-12-30T05:07:18.23+00:00

    @Suresh Rajamani I wanted to expand upon the great answer provided by @Vahid Ghafarpour to provide you with a sample.

    Yes, you can search all models using a single Azure Cognitive Search service. You can create multiple indexes, each with its own schema, and then search across all of them using a single search query.

    To achieve this, you can create a search index for each of your data sources with its own schema. Then, you can use the Azure Cognitive Search REST API to issue a search query that searches across all of your indexes. You can also use the Azure Search .NET SDK to issue search queries programmatically.

    Here is an example of how you can search across multiple indexes using the REST API:

    POST https://[service name].search.windows.net/indexes/*/docs/search?api-version=[api-version]
    Content-Type: application/json
    api-key: [admin key]
    
    {
        "search": "your search query",
        "searchFields": "field1,field2,field3",
        "queryType": "full",
        "count": true,
        "skip": 0,
        "top": 10
    }
    
    
    

    In this example, you would replace [service name] with the name of your Azure Cognitive Search service, [api-version] with the version of the REST API you are using, and [admin key] with your Azure Cognitive Search admin key. You would also replace field1, field2, and field3 with the names of the fields you want to search across.


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.