本教程将构建一个网站,用于搜索书籍目录,并将网站部署到Azure 容器应用。 该部署使用 Azure Developer CLI(azd)和托管标识作为 Azure AI 搜索 的默认身份验证方法。
在本教程中,你将了解:
- 使用 Azure Developer CLI 部署 Azure AI 搜索并自动为索引植入初始数据。
- 在 C# 应用中集成搜索查询、建议、分面、分页和文档查找。
- 将应用部署到使用托管标识作为默认身份验证方法的Azure 容器应用。
样本有什么作用?
此示例网站提供对 10000 本书籍的目录的访问权限。 你可以通过在搜索栏中输入文本来搜索目录。 当您输入文本时,网站会使用搜索索引中的建议功能来自动补全文本。
查询完成后,网站会显示包含部分详细信息的书籍列表。 可以选择一本书以查看其完整详细信息,这些详细信息存储在搜索索引中。
搜索体验包括:
- 搜索 - 为应用程序提供搜索功能。
- 建议 - 当用户在搜索栏中键入时提供建议。
- 分面和筛选器 - 提供按作者或语言筛选的分面导航结构。
- 分页结果 - 提供用于滚动结果的分页控件。
- 文档查找 - 按 ID 查找文档以检索详细信息页的所有内容。
如何对示例进行组织?
示例代码包含以下组件:
| 应用 | 目标 | GitHub存储库位置 |
|---|---|---|
client |
用于显示图书并提供搜索功能的 React 应用(表示层)。 它调用 API。 | /azure-search-static-web-app/client |
api |
C# Azure Functions API(业务层),托管在 Azure 容器应用 上的容器中,该容器使用 .NET SDK 调用 Azure AI 搜索 API。 | /azure-search-static-web-app/api |
bulk-insert |
.NET创建索引并加载文档的项目。
azd 部署会通过 postprovision 钩子自动执行此操作。 |
/azure-search-static-web-app/bulk-insert |
infra |
由 azd 用于部署 Azure AI 搜索、Azure 容器应用 和配套资源的 Bicep 基础设施。 |
Azure-Samples/azure-search-static-web-app |
设置开发环境
为本地开发环境安装以下软件。 该azd up命令预配所有Azure资源,包括Azure AI 搜索,因此无需事先创建它们。
- Azure AI 搜索、任何区域或层
- .NET 9 或最新版本
- Git
- Visual Studio Code
- 适用于 Visual Studio Code 的 C# 开发工具扩展
- Azure 静态 Web 应用扩展适用于 Visual Studio Code
本教程不会在本地运行 Azure Functions API。 若要在本地运行,请安装 Azure Functions Core Tools。
使用 Git 克隆搜索示例
您可以从本地克隆的代码库部署该示例。 该azd up命令从本地存储库读取应用程序和基础结构文件,生成容器,预配Azure资源,并将客户端和 API 部署到Azure 容器应用。
在 Bash 终端中,将示例应用程序克隆到本地计算机。
git clone https://github.com/Azure-Samples/azure-search-static-web-app.git在同一 Bash 终端中,转到此搜索示例的存储库目录。
cd azure-search-static-web-app使用 Visual Studio Code 命令
code .打开存储库。 除非另有说明,否则请在 Visual Studio Code 中完成其余任务。code .