你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

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

注释

Azure AI 搜索可通过Azure门户、REST API 和Azure SDK获取。 它也是 Foundry IQ 的基础;Foundry IQ 是一个托管式知识层,可将企业内容转化为供 Microsoft Foundry 门户中的智能体使用的、可复用且具备权限感知能力的知识库。

本教程将构建一个网站,用于搜索书籍目录,并将网站部署到Azure 容器应用。 该部署采用 Azure 开发人员 CLI(azd)和托管标识作为 Azure AI 搜索 的默认身份验证方法。

在本教程中,你将了解:

  • 使用 Azure 开发人员 CLI 部署 Azure AI 搜索,并自动为索引植入初始数据。
  • 在 C# 应用中集成搜索查询、建议、分面、分页和文档查找。
  • 将应用部署到使用托管标识作为默认身份验证方法的Azure 容器应用。

该示例有什么作用?

此示例网站提供对 10000 本书籍的目录的访问权限。 你可以通过在搜索栏中输入文本来搜索目录。 在你输入文本时,网站使用搜索索引的建议功能自动补全文本。

查询完成后,网站会显示包含部分详细信息的书籍列表。 可以选择一本书以查看其完整详细信息,这些详细信息存储在搜索索引中。

示例应用的截图,显示“dog”的搜索结果,以及作者和语言筛选项和分页控件。

搜索体验包括:

  • 搜索 - 为应用程序提供搜索功能。
  • 建议 - 在用户于搜索栏中键入时提供建议。
  • 分面和筛选器 - 提供按作者或语言筛选的分面导航结构。
  • 分页结果 - 提供用于滚动结果的分页控件。
  • 文档查找 - 按 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 .
    

后续步骤