2013-01-23 70 views
0

我的项目需要类似于黄页的内容: 存储用户服务并按服务提供查询。需要关于用户提供的服务的数据库结构建议

我目前的解决方案是非常刚性和繁琐 - 我有3个预置列表:工业,贸易,专业。 用户从顶层开始并定义他的服务。 我还创建了一个“就地搜索”选项,其中提供字符串在“行业 - 贸易 - 专业”字符串中执行查找。

我注意到Google,LinkedIn和黄页提供了一个更简单的解决方案,用户可以放入自由文本,即使搜索词是CPA,系统也会为注册会计师提供结果。

任何关于更智能,更高效和简单的用户解决方案的想法? 我不是在寻找确切的数据库结构,一般的算法就足够了。

谢谢。

回答

1

您是否考虑过标签结构?这允许多个地方的条目,标签层次结构,标记“重新映射”(标准化标签名称)。

基本上,你没有一个层次结构 - 条目是平的,但有标签附加,可以形成层次结构。这是您需要的灵活性 - 公司可能提供多种服务,您也可能希望标签标准化。

简单地说:

  • 一个表(或更多 - 我把它一般)针对这些项目
  • 一个表标签,育儿本身(形成树)
  • 的EntryTAble标签。

标签表必须允许交联(替代标签,状态等)。

+0

我想我明白你的意思,但我错过了一些东西 - 第一个表:id,entry |第二个表:标识,标签,子标识|第三个表:first_table.id,second_table.id - 我想我创建了第二个表来控制层次结构,并允许用户将条目添加到第一个表,但我的问题是用什么逻辑将第一个和第二个表连接到第三个表中?我应该手动执行此操作吗? 非常感谢您的想法和跟进。 – Yaniv

+0

还有别的吗?我的意思是,这需要智慧,至少有一点痕迹。我不是说这种侮辱,但除非你找到了一种从公司名称/地址到它所做的业务的神奇方式,这是一个手动过程。它可以编写脚本(我现在导入4000个服务A),但它是一个用户,必须从逻辑上决定将条目连接到哪里。 – TomTom

相关问题