当我在Sitecore 7中使用分面执行查询时,我获得了TotalSearchResults和Hits()的不同数字.Count()。有谁知道为什么存在差异? TotalSearchResults总是更高。
query = query.Where(x => x.Language.Equals(computedLanguage)
&& (x.PageTitle.Contains(text)
|| x.PageContent.Contains(text)
|| x.PageHeading.Contains(text)
|| x.PageSummary.Contains(text)
|| x.Content.Contains(text)
|| x.Content_1.Contains(text)
|| x.Content_2.Contains(text)
|| x.Content_3.Contains(text)
|| x.SearchSummary.Contains(text)
) && x.Taxonomy == so.Facet);
// get our full count
int hits = query.GetResults().Hits.Count();
int total = query.GetResults().TotalSearchResults;
答案 0 :(得分:1)
Sitecore只会带回一定数量的搜索结果。无论您是使用.Page()还是.Take()来限制您获得的结果数量,或者Sitecore或您的Search API限制将通过ContentSearch.SearchMaxResults等设置返回的最大结果数,您赢了&# 39; t总是将所有结果返回到数据集中。
TotalSearchResults将显示您的搜索查询可能有多少结果。 Hits()。Count()仅显示您在返回的数据集中有多少访问权限。您将需要使用.Page()来访问超出您当前获得的Hits()数量的其他搜索结果。