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

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

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

分析 text 的建议包括以下特征之一:

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

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

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

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

设置纯文本索引

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

PUT https://[service name].search.azure.cn/indexers/[indexer name]?api-version=2025-09-01
Content-Type: application/json
api-key: [admin key]

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

默认情况下,假设使用 UTF-8 编码。 若要指定不同的编码,请使用 encoding 配置属性。 支持的 编码列表 位于 .NET 5 和更高版本的支持 列下。

{
  ... other parts of indexer definition
  "parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "iso-8859-1" } }
}

请求示例

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

POST https://[service name].search.azure.cn/indexers?api-version=2025-09-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" } }
}

后续步骤