无法使搜索查询适用于 Azure blob 元数据字段

无法使搜索查询适用于 Azure blob 元数据字段

我在存储帐户中有一个 blob 容器,其中每个 blob 都是一个图像。我已向每个 blob 添加了“w”和“h”元数据字段,其中包含图像的宽度和高度。

我已按照说明操作这里向 Blob 存储添加搜索服务,但我添加的是元数据而不是 Blob 内容。

我可以确认元数据存在并且有效,如果我在 Azure 门户中浏览 Blob,我可以看到具有有效数据的字段,如果我在搜索资源管理器中执行“search=*”,我会为每个 Blob 返回此信息:

{
            "@search.score": 1,
            "w": 640,
            "h": 424,
            "metadata_storage_path": "......"
}

我的问题是我想通过图像宽度(w)和高度(h)进行搜索,但不知道该如何做。

尝试了这些示例查询来搜索 w=640,但没有成功,只是返回所有 blob 或错误:

w=640
search=*&w=640
search=*&w eq 640
w eq 640

我注意到的一件事是,在写入 blob 元数据时(我使用了 Azure 存储 Python 库),您只能写入字符串数据。但是当您指定数据源中的字段时,可以将它们设置为 int32。

如何启用对 Blob 元数据字段的可过滤搜索?

编辑: 根据 SumanthMarigowda-MSFT 的回答,我看了doc,就我而言,这里有一些示例查询:

仅 640x480:

search=*&$filter=(w eq 640 and h eq 480)

所有 w 都在 640 到 700 之间:

search=*&$filter=(w ge 640 and w lt 700)

答案1

MSDN 论坛上有类似的查询讨论,您可以参考这里提到的建议关联

相关内容