有没有任何标签匹配算法?

问题描述:

我的系统类似于*。基本上,一个帖子可以有多个标签,并且有一个搜索功能可以查找匹配查询标签的帖子(所有标签都必须匹配)有没有任何标签匹配算法?

我不知道是否有解决后标签问题的算法/数据结构/有效地搜索?哪一个在速度(时间复杂度)方面最有效率?

+1

“倒置索引”可以是有用的。 “并且大多数情况下你会有一个单独的标签表,然后单个帖子可以有多个标签链接(使用键)”是被广泛使用的方法,如@abhinav所述。 – mayankcpdixit 2014-03-26 06:10:24

存储这种用于搜索的数据的最省时的方式通常在Inverted index之内。这也正好是最常见的搜索引擎/信息检索系统所建立的。

对于这个的实际实现,我建议你看看Apache Lucene

在过去,我还没有使用过任何专门的DS。事实上,如果你想用RDBMS做到这一点,请阅读how Wordpress do this using taxanomies的详细信息。大多数情况下,您将拥有一个单独的标签表,然后不透明的帖子可以链接多个标签(使用键)。

另一种流行的方法是将您的问题看作是一个分面问题。您必须使用全文索引框架并在其上开发您的多面浏览。 Here is an excellent post from the creator of Lucene/Solr这解释了这种情况。随着多方面的浏览,你将能够展示一些东西什么*做:

algorithm × 21165 
search × 8863 
data-structures × 5867 
tags × 2886 
* × 721