【问题标题】:ASP.NET C# Search in a SQL Server Database TableASP.NET C# 在 SQL Server 数据库表中搜索
【发布时间】:2010-12-28 09:50:12
【问题描述】:

我正在构建一个门户,它不是博客引擎,但与博客引擎非常相似。在 SQL Server 中,我有一个数据库,其中包含一个表,该表是“帖子”的基础。此帖子表包括以下列:

  • 身份证
  • 作者
  • 标签
  • 标题
  • Markdown 帖子内容

这是我第一次构建这样的门户,我想在这些行上实现某种 ASP.NET 搜索,最好使用所有属性(列),除了身份证一。另外,从长远来看,我正在考虑对这些帖子执行 this 和 cmets 搜索的可能性,这些帖子将存储在不同的表中。

是否有任何在线开源实现或示例代码可用于完成此搜索?如果没有,我该如何开始?您能否向我指出一些关于如何使用 ASP.NET 和 C# 完成此任务的示例代码教程?另外,谷歌(或其他公司)是否为此创造了任何东西?

我希望我的问题不是太宽泛或太模糊。提前致谢!

【问题讨论】:

    标签: c# asp.net sql-server search


    【解决方案1】:

    您使用的是 Sql Server 2008 吗?如果是这样,您可以利用其中内置的full-text search features。然后它就像将用户的(经过过滤的)输入传递到 sql 查询中一样简单。

    例如,下面的查询将搜索用户输入的文本的作者、标题和 PostContent 字段。

    SELECT Author, Title FROM Posts
    WHERE CONTAINS((Author, Title, PostContent), @userInput);
    

    SQL Server 2008 支持different search methods too,比如简单的标记、加权词值、同义词、邻近和前缀搜索……非常棒。

    【讨论】:

    【解决方案2】:

    您是否想过通过使用全文搜索来实现搜索?这似乎是一个很好的场景。此链接可能会提供有关全文搜索架构和开发的有用信息。 http://msdn.microsoft.com/en-us/library/ms142571.aspx

    【讨论】:

      【解决方案3】:

      如果这是公开的,你总是可以让谷歌索引它。 Google 有一个appliance,您也可以购买它来执行此操作。

      如果你不想自己动手,你可以看看:

      1. Sharepoint(普通[Win 2003+自带]或门户服务器)
      2. SOLR(Apache Lucene 项目)

      如果您想自己创建,我建议您使用 SQL Server Analysis Services 定期为您构建搜索索引。

      【讨论】:

        【解决方案4】:

        我同意 Womp - 全文索引是要走的路。如果您需要索引的不仅仅是数据库表,还可以查看NLucene

        【讨论】:

          【解决方案5】:

          我认为您应该尝试使用 Lucene,您可以使用它来索引所有数据并构建一个非常好的搜索引擎。 如果你愿意,我可以提供更多信息。

          【讨论】:

            猜你喜欢
            • 2011-05-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-07-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-10-11
            相关资源
            最近更新 更多