在ASP.NET MVC 3 / .NET中添加高级搜索

时间:2012-03-14 09:53:23

标签: asp.net-mvc-3 sql-server-2008 tsql lucene.net

在我正在处理的网站中,有一个包含多个字段的高级搜索表单,其中一些字段是动态显示/隐藏的,具体取决于搜索表单上的内容。

预计数据在数据库中会很大,并且记录会以非常规范的方式分布在几个表中。

是否建议使用第三方搜索引擎,sql server全文搜索,lucene.net等...除了使用SELECT / JOIN查询?

谢谢

3 个答案:

答案 0 :(得分:0)

在这里思考一下 -

查看CSLA.NET;使用此框架,您可以创建业务对象并对搜索算法进行“非规范化”。

无论哪种方式,请确保数据库具有适当的索引以获得更好的性能。

答案 1 :(得分:0)

在前端,你需要使用一些javascript来映射哪些顶级字段显示子级别字段。它很直接。

对于实际搜索,我会推荐一些Lucene的味道。

您可以选择Stackoverflow使用的Lucene.NET的.NET风格,Solr可以说比Lucene更容易设置和运行,或者是ElasticSearch的最新版本,它的目标是无模式只需在群集中删除更多实例即可无限扩展。

我自己只使用过Solr,它有一个很好的.NET客户端(SolrNet)。

答案 2 :(得分:0)

首先索引重要且非常有用的数据库字段 并且搜索更好地使用全文搜索
我尝试它,结果与我不使用全文时的结果非常不同 并且最好在存储过程中使用选择和连接查询,并从程序中调用sp