Creating a Slurm Job Submission App in Open OnDemand with Copilot Agent
July 21, 2025Introducing Teams Q&A export API on Microsoft Graph Beta
July 22, 2025In this guest blog post, Jonathan Simon, Sr. Product Marketing Engineer at Elastic, a longtime Microsoft and Azure Marketplace partner, presents a hybrid search solution that addresses unique challenges by using Microsoft Azure OpenAI Service, Azure Maps, and GitHub Codespaces in conjunction with Elasticsearch.
The Microsoft Build 2025 session “Boost your app’s search: using Azure LLM functions and Elasticsearch,” presented by James Williams and Mike Richter, was an illuminating session for developers seeking a simple yet powerful search solution for their applications. After presenting their example app’s search system architecture, they then demonstrated the app, which uses only Azure and Elasticsearch to create a real estate property hybrid search app. The example app combines the vector database-powered search engine of Elasticsearch with Azure OpenAI and Azure Maps to create a search app that can find properties, within the example dataset, from user queries that are super specific or super vague.
How the app works
The .NET Blazor example app uses a RAG-based search architecture in which Elastic is the grounding data source combined with Azure OpenAI as the LLM chat service that handles search orchestration. Azure OpenAI first parses user queries to extract the key values of the user’s search. Those values are then added to the query parameters of an Elasticsearch search template. If the user’s query includes an aspect like a location, the LLM will use Azure Maps to get location coordinates to be added to the search template. The populated search template is then submitted as a query to Elasticsearch. The results from Elasticsearch are then formatted and returned by Azure OpenAI to the Blazor front-end UI.
Requirements
Only a browser is required to clone, configure, and run the example app. The app uses GitHub Codespaces for the entire process. The app includes a Jupyter Notebook that makes it a simple matter of clicking “run” buttons to execute code blocks that create an Elasticsearch index, a search template, and an inference model. It also includes a runnable code block for ingesting example real estate data into the Elasticsearch index.
Once the Elasticsearch resources are created, the C# example app can be easily run from within GitHub Codespaces using the built-in terminal. This is a great way to try out the app. The app is open source, so it can be customized and deployed anywhere that supports Kubernetes or Docker containerized deployments.
Run the app
Within GitHub Codespaces you have all the tools required to clone the example app, create and configure the Elasticsearch resources, and run the app. Azure Portal provides the tools to easily create the Azure OpenAI and Azure Maps resources utilized by the example app. Here’s an outline of the process to configure the example app’s resources and run the app:
- Clone example app in GitHub Codespaces
- Create and configure Elasticsearch resources with a Jupyter Notebook
- Create a running Azure OpenAI LLM model deployment in Azure portal
- Create an Azure Maps account in Azure portal
- Run the example app from the GitHub Codespaces terminal
See the Elasticsearch labs blog post Using Azure LLM Functions with Elasticsearch for smarter query experiences to follow a detailed guide of every step required to clone and run the app using your browser.
Once you’ve successfully launched the example app, you can experiment with real estate searches using natural language queries utilizing the combined capabilities of Azure OpenAI and Elasticsearch to obtain comprehensive results.
The future of search is bright for developers looking to build straightforward and powerful search solutions for their apps. By leveraging the example app’s pattern of using Elasticsearch search templates and LLMs like Azure OpenAI, developers can create a search experience for their users that can handle just about any query, whether it’s a question seeking an exact answer or just an open-ended question from someone who wants to know more.
To learn more about how Elastic can help you build innovative search apps, check out this offer in Azure Marketplace: Elasticsearch – Search & Vector Database.