2008-09-23 90 views
6

您在网站上提供搜索功能的首选方法是什么?目前,我倾向于在索引服务/ SQL Server全文搜索上使用Lucene.net(因为服务器端没有设置任何内容),但是还有哪些其他方法可用?哪种搜索技术可用于ASP.NET?

回答

5

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

0

你可以使用谷歌,它不会是最快的索引,但它确实提供了很大的成绩,当你有没有预算。

0

dtSearch是我们经常使用的一个,但我并不是那么喜欢它。

0

现在很多人都在使用Google的自定义搜索;即使是我知道的几家银行也将它用于其内联网。

0

如果您需要为网站的所有页面(而不仅仅是Google索引)编制索引,或者如果您想为您的Intranet网站创建搜索,Google Mini非常可爱。这会花费你一些钱,但在几个小时内启动并运行起来非常简单。取决于需要索引的页数,它可能会很昂贵。

3

看看Solr。它使用Lucene进行文本索引,但它是一个完整的http服务器,因此您可以通过http发布文档并使用url进行搜索。最好的部分是,它可以让你从盒子中寻找,如果你自己做,它需要很多工作。

+0

Solr还提供了其他功能,您可能最终将通过Lucene.Net进行重新实现。例如:Solr可以将索引从一台机器复制到另一台机器,这可以帮助实现故障转移或性能。通过在多个“分片”服务器上自动发布查询,Solr可以帮助处理巨大的索引。使用DataImportHandler,Solr可以抓取SQL数据库并索引其中包含的数据,而无需额外的代码(只需XML配置)。主要的潜在缺点是,如果您需要自定义搜索代码,那么您现在必须在Java中执行该定制,而不是.NET。 – Chris 2010-05-26 20:15:15

0

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

结果很不理想的东西,因为它没有做任何语义相关的排名或任何花哨的。不过,它比MS SQL服务器的任何工作都做得更好。

它有一个网络蜘蛛,可以很容易地做一个网站上的快速搜索应用程序。如果您需要,您可以使用该API在数据库中创建钩子并提供物品级别的安全性 - 但您必须自己完成工作。他们的论坛留下了一些需要,但也许人们会开始在这里张贴dtSearch的东西。 :)

0

我还建议SOLR网站。设置,维护和配置很容易。我发现它很稳定,易于扩展。有一个C#软件包用于与solr进行交互。

相关问题