azure - Azure 搜索中的文件格式检测
问题描述
Azure 中有大量的 blob,我们希望将它们添加到 Azure 搜索索引中。这些 blob 有多种格式(PDF、DOC、RTF 等),但它们都没有文件扩展名。
正因为如此,Azure 搜索在索引过程中停止,因为它似乎只使用文件扩展名来进行文件格式检测。我们收到以下错误,并且由于我们所有的文件都具有这些“无效”扩展名,因此无论为索引错误设置的任何阈值如何,都会发生这种情况:
导入配置失败,创建索引器时出错:“数据源出错:文档‘ https://XXXXXXX.blob.core.windows.net/folder/filename.00001 ’具有不受支持的内容类型‘不支持’。仅索引 blob 元数据并忽略其内容,将“dataToExtract”索引器配置属性设置为“storageMetadata”。请参阅 https://aka.ms/azsearchblobdatatoextract。若要忽略此错误并继续索引具有不受支持的内容类型的 blob,请在索引器中设置“failOnUnsupportedContentType”开关配置为 false。有关更多信息,请参阅 https://aka.ms/blob-indexer-parameters-for-extraction。请调整您的数据源定义以便继续。”
有什么方法可以让 Azure 搜索进行基于文件内容的文件检测,或者至少使用 blob 上的元数据?
解决方案
Azure 搜索已经进行了基于内容的内容类型检测,但有些 blob 存在问题。在索引器操作期间可以跳过这些有问题的 blob(带有警告,以便您知道发生了什么),但如果在索引器创建期间遇到此类 blob ,则创建失败并出现您遇到的错误。
如果您删除(或跳过使用 blob 元数据)有问题的 blob,您的大多数其他 blob 是否按预期工作?我怀疑 Azure 搜索团队有兴趣查看有问题的 blob,如果您可以分享它的话。
推荐阅读
- c# - 使用流进行图像解码的列表视图
- javascript - 摇动以撤消问题 ios Safari
- java - '蜂巢上的火花' - 引起:java.lang.ClassNotFoundException:org.apache.hive.spark.counter.SparkCounters
- r - ggplot 将不同的图形合二为一
- javascript - 在根和任何对象之间的对象树中查找对象
- neo4j - 如何检查节点是否全局存在并在 Cypher 中设置条件?
- storage - 存储 api 不适用于 Microsoft Edge 上的自签名扩展
- sql-server - SQL Server 命名实例 TCPIP 端口设置和端点/基础结构权限错误
- python-3.x - 当我多次运行此代码片段时,它会在 python 中生成一个随机偶数,它会打印“无”一段时间。为什么会这样?
- java - Windows 上的 Java 时钟精度:15-16ms