如何在azure中存储字符串列表

时间:2015-08-22 07:40:36

标签: azure

我有一个像字典一样的字符串值列表,我必须对值进行字符串搜索,但我无法确定将此列表放在何处以及如何存储它。

首先,我考虑将它们存储在一个表存储中(因为它很便宜并且快速运行PK / RK上的查询)但是因为我无法对列表进行分类或分组,所以我不会完全利用表存储(PK和RK索引)

我使用documentDB作为我的主要数据存储,我可以将列表存储在文档中,但由于列表很容易扩展到文档的限制,我必须实现一个拆分算法,例如将1000个元素的块存储在一个文档然后我必须在搜索时查询这些多个文档。

以前我把它们存放在一个mssql表中,一切都很好,直到我们有一些增长问题。

我试图存储的行只有单词本身(字符串)并使用counter(int)。

编辑:数据示例和用法

Label       UsageCount
---------   ---------- 
Lorem        13 
Lorem ipsum  22 
dolor        909 
sit          12 
Amet         456 
consectetur  66 
ameiscing   387 
elit         5 
...

用法:我在用户写作时查询标签,通过查询启动建议他的结果, 就像用户写的那样,我应该告诉他' Amet'和' ameiscing',这是一个简单的不区分大小写的搜索查询。

1 个答案:

答案 0 :(得分:0)

我会提出两点建议。请看看其中任何一项是否适合您:

  1. 使用搜索服务:Azure Search Service最近推出了名为suggestions的新功能。通常,当用户输入搜索字词时,它会在搜索框中用于提供提前输入建议。
  2. 使用Azure表服务:如果您使用表服务,那么您可以采取以下措施来实现此类功能。基本上,它需要您多次复制数据。举个例子,这就是数据在搜索表中的样子:
  3. enter image description here

    当用户开始输入单词时,您会查询到目前为止输入的字母,例如用户类型a,您的查询将为PartitionKey eq 'a',然后当用户输入am时,您的查询将为PartitionKey eq 'am',依此类推。查询将相应地扫描分区,并返回以用户目前键入的字母开头的单词。