2016-08-18 46 views
0

我有要求在网页中创建搜索功能。要过滤的字段是from date - to datefirst money value - second money value,带有预定义值和自由文本的下拉列表。如何搜索Sql Server中的大量数据并在MVC视图中对它们进行分页?

数据库为Sql Server,CMS为Umbraco。我一直在寻找最好的解决方案,但不幸的是还没有找到!

  • 我试图探索ElasticsearchLucene和其他平台,如这些,但他们不适合我的需要,因为我在SQL Server中使用Full Text Search

  • 实体不适合这种情况,因为它不支持Sql Server中的Full Text Search。有这样做的技巧,但主要是它不是一回事...

  • 我试图创建一个动态查询取决于用户输入的字段,但有人说他们不是大数据的好解决方案。

  • 另一个解决方案来了,我的脑海是在应用程序端动态创建查询,然后执行它,我不确定这种方式是否足够好?

  • 创建大视图并不是解决方案,因为它们可能会破坏性能,正如我在一些文章中阅读过的。

有没有人实现了良好的解决方案,用于搜索其中参数是动态的数据的巨大的量(使查询动态以及)和检索的数据需要考虑进行分页?我真的很感激,如果有人给我一些关于如何在分页MVCUmbracoUmbraco

分页的信息此外在数据库中可能是数百万记录,分页应该在服务器端。

如果从服务器端没有什么好办法让所有的东西,那么请给我提供了一些信息,如何当你说“服务器端”使用ElasticsearchLucene在C#

+0

为分页,您可以使用下面的查询SELECT * FROM

ORDER BY OFFSET ROWS FETCH NEXT 行仅对。而不是加载整个数据,你加载大约50行并做分页 – Mani

+0

这不是那么有用,因为他需要在添加分页之前过滤数据 –

+0

感谢@ Mani的建议,但我需要过滤查询或最佳实现方法如何搜索数据第一,然后我可以使用你的建议。 –

回答

1

,我假定你的意思SQL服务器...如果您需要查询的数据是从Umbraco写入的,那么我将避免绕过Umbraco的数据访问层,因为您必须重写逻辑来处理发布&版本。

Umbraco使用Examine(建立在Lucene之上)提供内部搜索,并且可以轻松配置以创建自己的。

查看文档可以找到here和一个有用的入门指南可以找到here

相关问题