2015-08-17 27 views
1

目前,我们正面临着一个奇怪的问题如下: -ToList <Object>回报较少记录时,从IQueryable的转换<object>

我们正在使用ASP.NET与Sitecore的7.1.2和Solr为indexing.When我们要以检索使用下面的语法,它会给我们大约2500条记录。

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

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

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

回答

1

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

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

该工程修改以下元素来改变这一点,谢谢!!当我们尝试使用.ToList()方法将具有2500条记录的IQueryable 转换为列表时,它需要20秒进行转换。任何人都可以帮助我提高性能? –

相关问题