如何查询 Azure 搜索中 Metadata_storage_path 字段的搜索

How to query search on Metadata_storage_path field in Azure Search

我知道 metadata_storage_path 是用 Base-64 编码的,我们可以通过从 Azure 搜索中检索结果在我们的代码中解密它

我的问题是我希望 Azure 搜索查询 metadata_storage_path

中存在的路径

例如让我们说 metadata_storage_path 有像这样的值 <baseurl>/india/health<baseurl>/pakistan/health 的解密形式,我想用印度文本搜索以获得相关文件和数据

如何查询路径?

默认情况下,如果您创建 azure 存储的索引,它会在列 metadata_storage_path 上创建一个索引,这就是它被编码的原因,避免 metadata_storage_path 解码的最简单方法是切换主要是其他东西的主键 metadata_storage_name.

将其更改为某些内容后,metadata_storage_path 将以纯文本形式提供

希望这有用。

上一个答案的问题是 metadata_storage_name 只是一个 blob 名称( 不是 整个路径)因此不能保证是唯一的,所以它是不是安全的主键。

一种更安全的方法是使用 field mapping "rename" metadata_storage_path 到一个新字段(例如,"filename")。该字段不会被编码,因此很容易检索,而编码的 metadata_storage_path 仍将用于(安全唯一的)主键。