对我的网站实施快速且相关的搜索(C#ASP.net)

时间:2009-08-04 15:42:53

标签: c# asp.net search tags

我的网站有一个小部件数据库,每个小部件都有一个名称和描述。我想在我的网站上实现一个快速且相关的搜索系统,我该怎么做?

作为旁注,我还在这些小部件上实现了标签。这是我实施的方式(告诉我你的想法):

表格小部件:具有唯一ID以及小部件的其他信息 表tag_words:具有唯一ID,当然还有标记 表标记窗口小部件:将标记关联到窗口小部件的连接表

我已经在所有这些列上创建了索引,以尽可能快地进行搜索。

2 个答案:

答案 0 :(得分:3)

如果您使用的是SQL Server,则可以使用full-text search。至于标签,这是中小型网站的最佳方式。 StackOverflow对标记进行非规范化以便更快地读取,但对于您的应用程序,我可能会避免这种情况。

答案 1 :(得分:3)

如果您无法使用数据库中的内置全文搜索,则

Lucene.NET是另一种选择。它还可以让您更好地控制索引的内容和方式。

阅读关于标签的附注,我想我真的会使用Lucene.NET。它将允许您决定如何对与其他所有内容相关的标记进行排名,而我不知道是否可以使用SQL Server的全文搜索。