关于使用Azure搜索blob索引器在Azure上索引blob的可行性

时间:2017-08-31 19:20:57

标签: json azure indexing azure-storage-blobs

我正在尝试了解blob存储。关于indexing of the blob storage on Azure,我有两个问题: 我可以创建索引器并按需运行它而不是安排索引器吗? 我有以下存储在blob中的内容示例:

{  
   "Rows":[  
      {  
         "RowId":"20211345-2b71-4258-b4a6-4474284d78b5",
         "Text":"BIO Vegan Frog Bolognese Sauce 6x225gr",
         "Status":2
      },
      {  
         "RowId":"28370d6c-5e58-4dda-b874-97ad25cc1361",
         "Text":"Gezondheid & Dieet",
         "Status":1
      },
      {  
         "RowId":"320254f1-2163-48e0-b549-75e818136b48",
         "Text":"BIO Vegan Frog Houmous Classic 12x95gr",
         "Status":2
      },
      {  
         "RowId":"1dfc7fb9-816c-4f35-82f3-bbf83c3d89da",
         "Text":"Vegan Producten"
         "Status":3
      }
   ],
   "Columns":[  
      "ID",
      "Title",
      "Status"
   ],
   "BlobName":"115a46d0919e4b6bb7051dce1e766e45"
}

我想在行状态上创建索引,并且能够使用索引器来检索具有特定状态的行列表。例如,获取以下搜索status = 2

的结果
{  
   "Rows":[  
      {  
         "RowId":"20211345-2b71-4258-b4a6-4474284d78b5",
         "Text":"BIO Vegan Frog Bolognese Sauce 6x225gr",
         "Status":2
      },
      {  
         "RowId":"320254f1-2163-48e0-b549-75e818136b48",
         "Text":"BIO Vegan Frog Houmous Classic 12x95gr",
         "Status":2
      }
   ],
   "Columns":[  
      "ID",
      "Title",
      "Status"
   ],
   "BlobName":"115a46d0919e4b6bb7051dce1e766e45"
}

我想知道的是这种情况是否可行。

2 个答案:

答案 0 :(得分:1)

可以在blob容器上创建索引器,但是如果您想根据需要为所提到的搜索方案创建和运行索引器,则最终必须选择一个非常昂贵的计划用于Azure搜索服务。您可以在here中获取定价详情。

答案 1 :(得分:1)

您是否还需要其他用例?如果它们都是基于JSON的,那么请考虑使用Cosmos DB而不是Azure Search和Blob存储。您只需使用一项服务即可获得结果。将您的blob中的JSON存储在文档中,然后您可以使用API​​对其进行查询。 Here is a simple example.

Cosmos DB允许您选择一致性级别来平衡性能和优化成本。

From the docs:

  • 强:线性化
  • 有界陈旧:一致的前缀。通过k前缀或t interval
  • 读取滞后写入
  • 会话:一致的前缀。单调读取,单调写入,读写操作,写入跟随读取
  • 一致的前缀:返回的更新是所有更新的一些前缀,没有间隙
  • 最终:无序阅读