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

在 Azure AI 搜索中将数据加载到搜索索引

本文介绍如何导入、刷新和管理预定义搜索索引中的内容。 在 Azure AI 搜索中,首先创建搜索索引,第二步执行数据导入。 例外情况是导入数据向导和索引器管道,它们在一个工作流中创建和加载索引。

搜索服务导入 JSON 中的文本和矢量并建立索引,用于全文搜索、矢量搜索、混合搜索和知识挖掘方案。 可从外部数据源中的字母数字字段、搜索方案中有用的元数据,或者通过技能组创建的丰富内容中获取文本内容。(技能可从图像和非结构化内容中提取或推断文本说明)。 矢量内容使用外部嵌入模型集成矢量化(预览版)进行矢量化。

索引数据后,索引的物理数据结构将被锁定。 有关可更改和不可更改的内容的指南,请参阅删除再重新生成索引

索引不是一个后台进程。 搜索服务将对索引和查询工作负载进行均衡,但是如果查询延迟太长,则可以添加容量,也可确定用于加载索引的较低查询活动的时间段。

加载文档

搜索服务接受符合索引架构的 JSON 文档。

你可自行准备这些文档,但是如果内容驻留在支持的数据源中,那么运行索引器或“导入数据”向导可自动完成文档检索、JSON 序列化和索引。

在 Azure 门户中,使用导入数据向导在无缝工作流中创建和加载索引。 如果要加载现有索引,请选择替代方法。

  1. 使用 Azure 帐户登录到 Azure 门户

  2. 查找搜索服务,并在概述页面中选择命令栏上的“导入数据”或“导入并矢量化数据”,以创建和填充搜索索引。 可以点击以下链接查看工作流:快速入门:创建 Azure AI 搜索索引快速入门:集成矢量化(预览版)

    Screenshot of the Import data command

如果已定义索引器,则可以从 Azure 门户重置并运行索引器,这在以增量方式添加字段时非常有用。 重置会迫使索引器重头开始,从所有源文档中选取所有字段。

删除孤立文档

Azure AI 搜索支持文档级操作,因此你可单独查找、更新和删除特定文档。 以下示例说明了如何删除文档。 在搜索服务中,文档不相关,因此删除一个文档不会影响索引的其余部分。

  1. 确定哪个字段是文档键。 在门户中,可查看每个索引的字段。 文档键是字符串字段,并使用键图标表示,便于更容易识别。

  2. 检查文档键字段的值:search=*&$select=HotelId。 简单字符串非常简单,但是如果索引使用 base-64 编码的字段,或者搜索文档是从 parsingMode 设置生成的,则你可能正在使用不熟悉的值。

  3. 查找文档来验证文档 ID 的值,并在删除之前查看其内容。 在请求中指定键或文档 ID。 下面的示例演示了酒店示例索引的简单字符串,以及 cog-search-demo index 的 metadata_storage_path 键的 base-64 编码字符串。

    GET https://[service name].search.windows.net/indexes/hotel-sample-index/docs/1111?api-version=2023-11-01
    
    GET https://[service name].search.windows.net/indexes/cog-search-demo/docs/aHR0cHM6Ly9oZWlkaWJsb2JzdG9yYWdlMi5ibG9iLmNvcmUud2luZG93cy5uZXQvY29nLXNlYXJjaC1kZW1vL2d1dGhyaWUuanBn0?api-version=2023-11-01
    
  4. 删除文档,将其从搜索索引中删除。

    POST https://[service name].search.windows.net/indexes/hotels-sample-index/docs/index?api-version=2023-11-01
    Content-Type: application/json   
    api-key: [admin key] 
    {  
      "value": [  
        {  
          "@search.action": "delete",  
          "id": "1111"  
        }  
      ]  
    }
    

另请参阅