在网站上提供搜索工具的首选方法是什么?目前我更喜欢使用Lucene.net而不是索引服务/SQL Server 全文搜索(因为没有什么可以设置服务器端),但是还有哪些其他方法正在使用呢?
9 回答
我们同时使用了 Lucene.net、索引服务和 SQL Server 全文。对于具有大型和重型数据库搜索功能的项目,SQL 搜索在性能/资源命中方面具有优势。否则 Lucene 在各方面都要好得多。
看看Solr。它使用 Lucene 进行文本索引,但它是一个完整的 http 服务器,因此您可以通过 http 发布文档并使用 url 进行搜索。最好的部分是它为您提供了开箱即用的多面搜索,如果您自己做这将需要大量工作。
您可以使用 google,它不会是最快的索引器,但是当您没有预算时,它确实提供了很好的结果。
dtSearch 是我们经常使用的一个,但我并不是很喜欢它。
现在很多人都在使用谷歌的自定义搜索。甚至我认识的几家银行都将它用于他们的 Intranet。
如果您需要索引您网站的所有页面(不仅仅是 Google 索引的页面),或者如果您想为您的 Intranet 网站创建搜索,Google Mini非常适合。这将花费您一些钱,但在几个小时内启动并运行它真的很容易。但是,根据您需要索引多少页,它可能会很昂贵。
我正在使用dtSearch,我(有点)喜欢它。对于 .NET,API 并不是世界上最好的,但它可以完成工作,而且速度非常快。而且它很便宜,所以你的老板会喜欢它(约 1,000 美元)。
结果留下了一些不足之处,因为它没有做任何类型的语义相关性排名或任何花哨的事情。不过,它比您从 MS SQL 服务器中获得的任何东西都做得更好。
它有一个网络蜘蛛,可以很容易地在网站上进行快速搜索应用程序。如果需要,您可以使用 API 在数据库中创建挂钩并提供项目级别的安全性 - 但您必须自己完成工作。他们的论坛也有一些不足之处,但也许人们会开始在这里发布 dtSearch 的东西。:)
有没有人试过微软搜索服务器快递?
http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/default.aspx
我还没有尝试过,但它可能很强大。
从网站上看,它主要面向 sharepoint 用户,但考虑到它的 sdk,我不明白为什么你不能将它用于常规的旧网站搜索
我也推荐 SOLR。它易于设置、维护和配置。我发现它稳定且易于扩展。有用于与 solr 接口的 ac# 包。