Solrnet分页 - 如何从.NET设置Start和Rows参数?

use*_*083 3 solrnet

我是一名认证的.NET开发人员,负责通过Solrnet实现Solr搜索.我已经接近将它放在我需要的地方,但远未看到我的客户需要的性能.

通常情况下,我不会写,但我找不到太多文档.你能提供一些好的Solrnet资源吗?这是我的问题:

如何将结果集(文档)限制为25?我将我的数据网格限制为每页25个结果,但即使1000个结果回来也仍然很慢.我猜这是因为Solr实际上正在返回所有1000个rec,即使我只显示25个.这是正确的吗?看起来我的默认值在solrconfig中设置为10,但似乎Solrnet双向传递并获取所有内容.

我还需要设置我的Start和Rows参数,这样我就可以进行分页 - 这会大大提高速度,对吧?

通过在Solr.Query中添加以下内容,我能够弄清楚如何处理Sort参数:new QueryOptions().AddOrder(new SolrNet.SortOrder("Popularity",Order.DESC)

但我没有看到这样的设置Rows或Start参数.

我们将非常感谢您提供的任何帮助.谢谢 -

贾斯汀

Mau*_*fer 10

QueryOptions有很多属性,其中包括Start和Rows.如果它们未定义,SolrNet将默认获取大量文档(可能是您拥有的所有文档).我之所以这样做,是因为我认为对于新用户来说这将是一个不那么令人惊讶的行为,因为它使它更像数据库.但是,这可能会在下一个版本中发生变化,以反映Solr配置中定义的实际默认值.

以下是如何使用"开始"和"行"属性的示例:

solr.Query(yourQuery, new QueryOptions {
  Rows = 10,
  Start = 20,
});
Run Code Online (Sandbox Code Playgroud)

请查看示例应用以获取更多指导.

编辑:我将此添加到维基文档.