【问题标题】:Querying JSON Blob storage via azure search通过 azure search 查询 JSON Blob 存储
【发布时间】:2017-01-16 07:40:31
【问题描述】:

我需要查询存储在 Azure Blob 存储中的 JSON 数据,以进行过滤操作(对数据类型 text、data 和 int)、分页(即类似于跳过和获取的功能)。

我的 JSON 结构的问题是没有特定格式的 JSON 数据(键/值对)并且是动态的。因此,一个 JSOn 结果数据的键/值对可能与另一个 JSOn 结果数据不同。

Azure 搜索能否帮助在此类动态 JSOn 数据上建立索引以便查询相同的数据,或者是否有其他首选方式?

【问题讨论】:

  • Blob 存储是用于 .. 存储... 而不是用于查询。最好使用 DocumentDB。
  • 感谢彼得的回复。但是,我理解您的观点,希望利用 Azure 搜索提供的搜索服务来完成功能。我通过 DocumentDB 了解它是可行的。但是您知道 Azure 搜索服务是否可以处理动态 JSOn 数据吗?
  • 说实话我不知道。我们在 blob 中也有很多 json 文档,但我们正在查看 Azure Data Lake Analytics 以进行分析(请参阅azure.microsoft.com/en-us/services/data-lake-analytics),因为您可以直接从 blob 存储中读取。但是您提到的过滤和分页等操作是典型的数据库场景。因此,我建议将 DocumentDB 视为 NoSQL 解决方案。
  • 谢谢彼得,看来 DocumentDb 作为一个选项会更好

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


【解决方案1】:

看看这个https://docs.microsoft.com/en-us/azure/search/search-howto-index-json-blobs也许对你有帮助。

其他选项可能是将 json 从 blob 存储导出到 Azure SQL 数据库或 DocumentDB(可能不是所有内容 - 如果可以的话,您可以只导出您需要的部分数据)并在那里查询。

【讨论】:

  • 谢谢,看来 DocumentDb 作为一个选项会更好
【解决方案2】:

如果您只需要精确匹配和数值比较等过滤,那么 DocumentDB 等文档数据库可能是比 Azure 搜索更好的选择。

Azure 搜索在语言感知全文搜索方面表现出色(包括处理变形词形式、拼写错误、模糊匹配等)

正如 Jovan 所指出的,这些选项并不是相互排斥的 - 您可以将 DocumentDB 用作主存储,并将 Azure Search 用于全文搜索方案(如有必要,使用 DocumentDB indexer 从 DocumentDB 获取数据)。

【讨论】:

  • 谢谢,看来 DocumentDb 作为一个选项会更好
猜你喜欢
  • 2015-08-03
  • 2011-07-26
  • 1970-01-01
  • 2016-02-18
  • 1970-01-01
  • 2019-04-18
  • 2015-11-04
  • 2016-12-07
  • 1970-01-01
相关资源
最近更新 更多