适用于: Blob 存储索引器、 文件索引器
在 Azure AI 搜索中,Azure Blob 存储和 Azure 文件的索引器支持 delimitedText CSV 文件的分析模式,该模式将 CSV 中的每个行视为单独的搜索文档。 例如,给定以下逗号分隔的文本, delimitedText 分析模式将导致搜索索引中的两个文档:
id, datePublished, tags
1, 2016-01-12, "azure-search,azure,cloud"
2, 2016-07-07, "cloud,mobile"
如果 CSV 文件中的字段包含分隔符,则应用引号包装它。 如果字段包含引号,则必须用双引号来转义("")。
id, datePublished, tags
1, 2020-01-05, "tags,with,""quoted text"""
delimitedText如果没有分析模式,CSV 文件的整个内容将被视为一个搜索文档。
每当从单个 Blob 创建多个搜索文档时,请务必查看 索引 blob 以生成多个搜索文档, 以了解文档键分配的工作原理。 Blob 索引器能够查找或生成唯一定义每个新文档的值。 具体而言,当解析 blob 为较小部分时,它可以创建一个临时的 AzureSearch_DocumentKey,然后该值被用作索引中搜索文档的键。
设置 CSV 索引
若要为 CSV Blob 编制索引,请使用delimitedText请求上的分析模式创建或更新索引器定义。
仅支持 UTF-8 编码。
{
"name" : "my-csv-indexer",
... other indexer properties
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "firstLineContainsHeaders" : true } }
}
firstLineContainsHeaders 表示每个大块数据的第一行(非空行)包含标头。 如果 Blob 不包含初始标头行,则应在索引器配置中指定标头:
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
可以通过delimitedTextDelimiter 配置设置自定义分隔符字符。 例如:
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextDelimiter" : "|" } }
注释
在带分隔符的文本分析模式下,Azure AI 搜索假定所有 Blob 都是 CSV。 如果在同一数据源中混合了 CSV 和非 CSV Blob,请考虑使用 文件扩展名筛选器 来控制每个索引器上运行的导入文件。
请求示例
将所有内容组合在一起,下面是完整的有效负载示例。
数据源:
POST https://[service name].search.azure.cn/datasources?api-version=2025-09-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "my-blob-datasource",
"type" : "azureblob",
"credentials" : { "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account key>;" },
"container" : { "name" : "my-container", "query" : "<optional, my-folder>" }
}
索引:
POST https://[service name].search.azure.cn/indexers?api-version=2025-09-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "my-csv-indexer",
"dataSourceName" : "my-blob-datasource",
"targetIndexName" : "my-target-index",
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
}
相关内容
- 为 Azure Blob 存储中的数据编制索引
- 为 Azure 文件中的数据编制索引