0

我在 SQL Server 中有这样的表

用户

  • 用户 ID(唯一)
  • 姓名
  • 年龄

朋友们

  • 用户身份
  • 朋友ID

话题

  • 用户身份
  • 学科

可能有数千个用户。表中还有其他几个属性。

我可以查询以获得以下答案。

  1. 给我用户“汤姆”的所有朋友。
  2. 给我“汤姆”创建的所有主题。
  3. 给我汤姆的朋友创建的所有主题中包含“abc”的主题。

如果我要在 Azure 表存储中执行此操作,我该如何构建我的表?我已经经历了这个希望有人在建模 Azure 表存储方面有更多经验,以提供一些见解..

4

1 回答 1

0

1和2很简单。您创建两个 Azure 表 - 由用户 ID 索引的朋友和主题(在键中包含用户 ID)。

Azure 表的第三个要困难得多,尤其是“在主题中包含'abc'”部分。

Azure 表不支持全文搜索。基本上,只有使用精确键或使用“startswith”运算符才能有效地检索值(或值范围)。就像“给我所有键等于'键值'的记录”。或“给我所有键大于'键下限'且小于'键上限'的记录”。

也可以通过记录的任何非关键字段使用'startswith'进行过滤,但这会涉及表扫描并且效率不高。用“包含”做类似的过滤是不可能的。

所以我认为你需要在这里有全文搜索支持的东西。

于 2012-12-31T06:59:24.327 回答