MVC站点搜索功能

时间:2011-02-25 07:18:22

标签: asp.net-mvc asp.net-mvc-3

我需要为我的mvc应用程序提供简单的网站搜索功能。有些页面是静态的,有些是动态的(比如在cms中输入的新闻文章)。我希望搜索能够处理这两个问题。这个产品有什么好处吗? http://www.sitesearchasp.net任何其他人?

3 个答案:

答案 0 :(得分:4)

@stephbu - 谢谢你的提及。

如果您选择使用arachnode.net,您可以选择Lucene.NET或SQL全文索引。

Lucene.NET有一些“头脑风暴”,特别是在建立并发读/写/搜索场景时,但作为内容的静态反映,它可以很好地工作。

如果您想要免费和交钥匙的东西,请尝试使用Solr(.Net)或Microsoft Search Server。

http://www.microsoft.com/enterprisesearch/en/us/search-server-express.aspx(这是免费的,我看着它......)

谢谢! 麦克

答案 1 :(得分:3)

如果可以的话,拒绝购买任何东西 - 那里有许多免费的基于.NET的搜索引擎。最喜欢的选择是Lucene.net,这里有不错的教程:

  

Lucene Tutorial

设置相当简单,您可以控制通过Lucene API索引的数据。如果你需要爬行,那里有像Arachnode这样的开源蜘蛛扩展。它对索引目录等具有强大的功能。

猜测这取决于搜索对您的业务的重要性与拥有搜索引擎的成本有关。购买一个可能会为您提供交钥匙功能,但如果您想要更高级的功能,毫无疑问将会产生相同的集成成本。

答案 2 :(得分:3)

您还可以考虑使用Solr,这是一个位于Lucene之上的搜索引擎Web服务,并提供额外的功能,如点击突出显示和分面搜索。 .NET集成可通过SolrNet库获得。 Solr和SolrNet都是免费的。

通过使用SolrNet,您可以轻松索引数据库内容。我使用NHibernate进行数据库访问,而SolrNet也有NHibernate集成,因此当内容发生变化时,文档会自动重新编制索引。您可以轻松地为您选择的数据库访问方法设置类似的安排。

对于静态页面,您可以以编程方式提交HTML或使用Web爬网程序(有关建议,请参阅this question)。我不需要这样做,因此我无法就使用哪种工具提出任何建议。