我是经过认证的.NET开发人员,负责通过Solrnet实施Solr搜索。我几乎可以在需要的地方使用它,但远没有看到客户需要的性能。
通常,我不会写,但是我找不到太多的文档。您能提供一些好的Solrnet资源吗?这是我的问题:
如何将结果集(文档)限制为25?我将数据网格限制为每页25个结果,但是即使返回1000个结果,它仍然非常慢。我猜这是因为Solr实际上会返回所有1000个recs,即使我只显示25个。这是正确的吗?看起来我的默认设置在solrconfig中设置为10,但似乎Solrnet对此进行了双向传递并获得了所有内容。
我还需要设置Start和Rows参数,以便可以进行分页-这样可以大大提高速度,对吗?
通过将以下内容添加到我的Solr.Query中,我能够弄清楚如何处理Sort参数:new QueryOptions()。AddOrder(新SolrNet.SortOrder(“ Popularity”,Order.DESC)
但是我看不到这样的东西来设置Rows或Start参数。
您能提供的任何帮助将不胜感激。谢谢-
贾斯汀
QueryOptions具有很多属性,其中包括Start和Rows。如果未定义它们,SolrNet将默认获取大量文档(可能是您拥有的所有文档)。之所以这样做,是因为我认为对于新用户而言,这将是不那么令人惊讶的行为,因为它使其更像数据库。但是,为了反映Solr配置中定义的实际默认值,在下一发行版中这可能会更改。
这里是如何使用Start and Rows属性的示例:
solr.Query(yourQuery, new QueryOptions {
Rows = 10,
Start = 20,
});
请参阅sample app以获取更多指导。
已弃用Start属性,可以使用StartOrCursor:
var start = new StartOrCursor.Start(0);
var options = new QueryOptions
{
Rows = 10,
StartOrCursor = start
}