【发布时间】:2016-06-20 17:03:08
【问题描述】:
背景
我在一家房地产技术公司工作。一个即将到来的项目涉及构建功能以允许用户将标签/标签(复数)附加到 MLS 列表(房地产)。第二个要求是允许用户通过一个或多个标签进行搜索。我们不会处理跟踪计数或构建词云或类似的事情。
研究解决方案
我找到了this SO Q&A,并认为该解决方案非常简单,并尝试在下面调整一些想法。另外,我知道 JSONB 支持在 9.5 中要好得多,并且 可能 是一种可能性。如果您对此有任何见解,我也很乐意在回答中听到您的想法。
尝试的解决方案
表格:标签
列:ID、OwnerID、TagName、CreatedDate
表格:TaggedItems
列:ID、TagID(以上引用)、PropertyID、CreatedDate(可能是一些非规范化数据,以帮助呈现搜索结果;属性名称、原始列表等)
插入新标签应该很简单。搜索标签也应该很简单,因为用户将从可搜索的下拉列表中选择一个或多个标签,从而使我可以访问实际的 TagID,我可以使用它来查询TaggedItems 表。在显示列表的完整配置文件视图时,我可以使用它的 PropertyID 和 UserID 来查询我的表是否存在一个或多个要在视图中显示的标签。
编辑:可能值得注意的是,我们不会保留整个属性数据库,而是通过 API 合作伙伴访问它们;因此是两个表解决方案而不是 3。
【问题讨论】:
标签: sql database postgresql database-schema