我有一些非常大的气泡,所以我用下面的代码在blob行上设置了AzureSearch_SkipContent
:
if (b.Properties.Length >= 134217728)
{
b.Metadata["AzureSearch_SkipContent"] = "true";
await b.SetMetadataAsync();
}
但是,当我回顾警告和错误时,我可以看到,即使我要求索引器跳过,索引器仍然尝试索引内容,我看到的错误是(这是错误项下的,所以我猜它不会为这个blob索引任何内容):
{
"key": null,
"errorMessage": "The blob '113443f46d1b184650bf4b0d5b0b3806055c43558a676b778de13f1b7ef4da93' has the size of 218285352 bytes, which exceeds the maximum size for document extraction for your current service tier."
},
如果我看看存储资源管理器中的这个小块,我就会看到
发布于 2018-01-03 00:43:56
更新2018年1月3日
为了使这个场景正常工作,我们添加了indexStorageMetadataOnlyForOversizedDocuments
索引器配置设置。它接受一个bool值,默认情况下是false
,所以在索引器配置中将它设置为true
来启用它。这是新鲜的印刷机,并将部署到世界各地的生产1月19日。
原始响应
"true"
和"True"
都是AzureSearch_SkipContent
的有效值。问题是AzureSearch_SkipContent
做而不是意味着blob内容被忽略。
Blob内容有两种贡献:
AzureSearch_SkipContent
意味着Azure搜索只执行#1而不执行#2,但是blob仍然需要下载,因此blob大小配额起作用。
目前,唯一的其他每个blob处理选项是AzureSearch_Skip
,它完全跳过blob。您还可以使用MaxFailedItems
/ MaxFailedItemsPerBatch
来处理特定数量的错误,如处理错误中所述。
我认为,对于这种情况,真正有用的是Azure搜索能够自动提取大块的存储元数据,而不必单独处理所有blobs。请随时在我们的用户语音站点上添加一个建议。
发布于 2018-01-02 13:13:12
它需要一个大写字母T in true
if (b.Properties.Length >= 134217728)
{
b.Metadata["AzureSearch_SkipContent"] = "True";
await b.SetMetadataAsync();
}
当有疑问时,使用文字并转换为字符串。
b.Metadata["AzureSearch_SkipContent"] = true.ToString();
或
bool skipIndex = true;
b.Metadata["AzureSearch_SkipContent"] = skipIndex.ToString();
https://stackoverflow.com/questions/48061207
复制相似问题