【问题标题】:Which search technology to use with ASP.NET?ASP.NET 使用哪种搜索技术?
【发布时间】:2010-09-12 08:48:49
【问题描述】:

在网站上提供搜索工具的首选方法是什么?目前我更喜欢使用Lucene.net 而不是索引服务/SQL Server 全文搜索(因为没有什么可以设置服务器端),但是还有哪些其他方法正在使用呢?

【问题讨论】:

    标签: asp.net search full-text-search lucene


    【解决方案1】:

    我们同时使用了 Lucene.net、索引服务和 SQL Server 全文。对于具有大型和重型数据库搜索功能的项目,SQL 搜索在性能/资源命中方面具有优势。否则 Lucene 在各方面都要好得多。

    【讨论】:

      【解决方案2】:

      看看Solr。它使用 Lucene 进行文本索引,但它是一个完整的 http 服务器,因此您可以通过 http 发布文档并使用 url 进行搜索。最好的部分是它为您提供了开箱即用的多面搜索,如果您自己做这将需要大量工作。

      【讨论】:

      • Solr 还提供了其他功能,您最终可能会通过使用 Lucene.Net 重新实现这些功能。例如:Solr 可以将索引从一台机器复制到另一台机器,这有助于故障转移或提高性能。 Solr 可以通过在多个“分片”服务器上自动分发查询来帮助处理巨大的索引。使用 DataImportHandler,Solr 可以爬取 SQL 数据库并索引其中包含的数据,而无需额外的代码(只是 XML 配置)。主要的潜在缺点是,如果您需要自定义搜索代码,您现在必须在 Java 中进行自定义,而不是 .NET。
      • 让大家知道 Solr 有缺点。 HTTP 是一种昂贵且浪费的协议 - 与运行在与 Web 应用程序相同的机器上的本机代码相比。如果您的应用程序层已经内置了冗余,那么通过将所有搜索聚合到单个(或几个)服务器来重新集中搜索对于性能来说也不是理想的选择。通过使用 Solr,管理不断变化的索引变得更加困难。如果您的应用程序有许多不同的 Lucene 索引,或者您在实现过程中一次搜索多个索引,这也不是一个很好的范例。
      【解决方案3】:

      您可以使用 google,它不会是最快的索引器,但当您没有预算时,它确实提供了很好的结果。

      【讨论】:

        【解决方案4】:

        dtSearch 是我们经常使用的搜索引擎,但我并不是很喜欢它。

        【讨论】:

          【解决方案5】:

          现在很多人都在使用 Google 的自定义搜索;甚至我认识的几家银行都将它用于他们的 Intranet。

          【讨论】:

            【解决方案6】:

            如果您需要索引您网站的所有页面(不仅仅是 Google 索引的页面),或者如果您想为您的 Intranet 网站创建搜索,Google Mini 非常适合。这将花费您一些钱,但在几个小时内启动并运行它真的很容易。不过,根据您需要索引多少页,它可能会很昂贵。

            【讨论】:

              【解决方案7】:

              我正在使用 dtSearch,我(有点)喜欢它。对于 .NET,API 并不是世界上最好的,但它可以完成工作,而且速度非常快。而且它很便宜,所以你的老板会喜欢它(约 1,000 美元)。

              结果有一些不足之处,因为它没有做任何语义相关性排名或任何花哨的事情。不过,它比您从 MS SQL 服务器中获得的任何东西都做得更好。

              它有一个网络蜘蛛,可以很容易地在网站上进行快速搜索应用程序。如果需要,您可以使用 API 在数据库中创建挂钩并提供项目级别的安全性 - 但您必须自己完成工作。他们的论坛也有一些不足之处,但也许人们会开始在这里发布 dtSearch 的东西。 :)

              【讨论】:

                【解决方案8】:

                有人试过微软搜索服务器快递吗?

                http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/default.aspx

                我还没有尝试过,但它可能很强大。

                从网站上看,它主要面向 sharepoint 用户,但考虑到它的 sdk,我不明白为什么你不能将它用于常规的旧网站搜索

                【讨论】:

                  【解决方案9】:

                  我也推荐 SOLR。它易于设置、维护和配置。我发现它稳定且易于扩展。有一个用于与 solr 交互的 c# 包。

                  【讨论】:

                    猜你喜欢
                    • 2012-07-16
                    • 2011-01-17
                    • 2011-03-26
                    • 2010-10-07
                    • 2013-10-16
                    • 1970-01-01
                    • 1970-01-01
                    • 2018-10-23
                    • 2010-11-27
                    相关资源
                    最近更新 更多