我的系统类似于stackoverflow.基本上,帖子可以有多个标签,并且有一个搜索功能可以查找具有匹配查询标签的帖子(所有标签必须匹配)
我想知道是否有任何算法/数据结构可以有效地解决标记/搜索的问题?哪一个在速度方面最有效(时间复杂度)?
最佳答案 在过去,我没有使用任何专门的DS.事实上,如果您想使用RDBMS执行此操作,请阅读
how WordPress do this using taxanomies的详细信息.通常,您将拥有单独的标签表,然后单独的帖子可以链接多个标签(使用键).
另一种流行的方法是将您的问题视为一个分面问题.您必须使用全文索引框架并在此基础上开发您的分面浏览. Here is an excellent post from the creator of Lucene/Solr解释了这种情况.通过分层浏览,您将能够显示stackoverflow的功能:
algorithm × 21165
search × 8863
data-structures × 5867
tags × 2886
stackoverflow × 721