教程:在 Azure 容器应用 上将Azure AI 搜索添加到 C# Web 应用

注释

Azure AI 搜索可通过Azure门户REST APIAzure SDK获取。

本教程将构建一个网站,用于搜索书籍目录,并将网站部署到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 Functions API。 若要在本地运行,请安装 Azure Functions Core Tools

使用 Git 克隆搜索示例

您可以从本地克隆的代码库部署该示例。 该azd up命令从本地存储库读取应用程序和基础结构文件,生成容器,预配Azure资源,并将客户端和 API 部署到Azure 容器应用。

  1. 在 Bash 终端中,将示例应用程序克隆到本地计算机。

    git clone https://github.com/Azure-Samples/azure-search-static-web-app.git
    
  2. 在同一 Bash 终端中,转到此搜索示例的存储库目录。

    cd azure-search-static-web-app
    
  3. 使用 Visual Studio Code 命令code .打开存储库。 除非另有说明,否则请在 Visual Studio Code 中完成其余任务。

    code .