【问题标题】:How to query search on Metadata_storage_path field in Azure Search如何在 Azure 搜索中查询 Metadata_storage_path 字段的搜索
【发布时间】:2019-08-17 14:53:11
【问题描述】:

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

我的问题是我希望 Azure 搜索查询 metadata_storage_path 中存在的路径

例如假设metadata_storage_path 具有如下值 <baseurl>/india/health<baseurl>/pakistan/health 的解密形式,我想用印度文本搜索获取相关文件和数据

如何对路径进行查询?

【问题讨论】:

  • 您不能将搜索字符串 (/India/) 转换为 base64 编码字符串并将其发送到 Azure 搜索吗?

标签: azure azure-cognitive-search azure-search-.net-sdk


【解决方案1】:

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

更安全的方法是使用field mappingmetadata_storage_path“重命名”为新字段(例如“文件名”)。该字段不会被编码,因此很方便检索,而编码的metadata_storage_path 仍将用于(安全唯一的)主键。

【讨论】:

  • 是的,你是对的,这是更好和正确的解决方案。从来不知道字段映射,谢谢分享
【解决方案2】:

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

将其更改为 something 后,metadata_storage_path 将以纯文本形式提供

希望这是有用的。

【讨论】:

    猜你喜欢
    • 2021-11-02
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 2017-11-04
    • 2021-03-13
    • 2021-04-06
    • 1970-01-01
    • 2021-10-18
    相关资源
    最近更新 更多