从IQueryable <object>转换时,ToList <object>返回较少的记录

时间:2015-08-17 13:39:47

标签: c# solr sitecore sitecore7

目前我们面临一个奇怪的问题如下: -

我们正在使用ASP.NET与Sitecore 7.1.2和Solr进行索引。当我们要使用以下语法检索项目时,它将为我们提供大约2500条记录。

using (var context = _sitecoreWrapper.GetIndexForContextDatabase(IndexConstants.SitecoreIndexNameFormat).CreateSearchContext())    
{     
    query = context.GetQueryable<Object>();    
}

List<Object> lstObj = query.ToList();

我们在IQueryable中获得2500条记录,然后在我将其转换为List之后,它将在时间上仅给我们500条记录。 任何人都可以知道我们以错误的方式做什么问题/配置?

1 个答案:

答案 0 :(得分:1)

IQueryable.Count()将返回solr中与您的查询匹配的文档数。但是,当您调用.ToList()时,将返回实际的搜索结果。为了避免因检索大量数据而导致的任何性能问题。 Sitecore将您可以检索的搜索结果数量限制为500个项目。 您可以通过修改Sitecore.ContentSearch.Solr.Indexes.Config中的以下元素来更改此设置

<setting name="ContentSearch.SearchMaxResults" value="500" />