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

在 Azure AI 搜索中为纯文本 Blob 和文件编制索引

适用对象:Blob 索引器文件索引器

使用索引器提取可搜索 Blob 文本或文件内容进行全文搜索时,可以分配一种分析模式以获得更好的索引结果。 默认情况下,索引器将 Blob content 的属性分析为单个文本区块。 但是,如果所有 blob 和文件都包含采用同一编码的纯文本,则可以通过使用 text 分析模式显著提高索引编制性能。

用于分析的推荐text包括以下特征之一:

  • 文件类型为 .txt
  • 文件属于任何类型,但内容本身是文本(例如,程序源代码、HTML、XML 等)。 对于标记语言中的文件,语法字符以静态文本的形式传递。

回想一下,所有索引器都序列化为 JSON。 默认情况下,整个文本文件的内容在一个大字段中编制索引,如下所示 "content": "<file-contents>"。 新行和返回指令嵌入内容字段中,并表示为 \r\n\

如果需要更精细或更精细的结果,并且文件类型兼容,请考虑以下解决方案:

将内容分解为多个部件的替代第三个选项需要以 AI 扩充的形式提供高级功能。 其添加的分析用于标识文件块并将文件块分配给不同的搜索字段。 可以通过内置技能(如实体识别或关键字 (keyword)提取)找到完整或部分解决方案,但更可能的解决方案可能是一个自定义学习模型,该模型可理解内容(包装在自定义技能)。

设置纯文本编制索引

若要为纯文本 Blob 编制索引,请在创建索引器请求上创建或更新配置属性设置为text索引器定义parsingMode

PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2023-11-01
Content-Type: application/json
api-key: [admin key]

{
  ... other parts of indexer definition
  "parameters" : { "configuration" : { "parsingMode" : "text" } }
}

默认情况下将采用 UTF-8 编码。 若要指定不同的编码,请使用 encoding 配置属性:

{
  ... other parts of indexer definition
  "parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "windows-1252" } }
}

请求示例

在索引器定义中指定分析模式。

POST https://[service name].search.windows.net/indexers?api-version=2023-11-01
Content-Type: application/json
api-key: [admin key]

{
  "name" : "my-plaintext-indexer",
  "dataSourceName" : "my-blob-datasource",
  "targetIndexName" : "my-target-index",
  "parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
}

后续步骤