В настоящее время я использую значение конфигурации по умолчанию:
<setting name="ContentSearch.SearchMaxResults" value="500" />
Мне нужно для конкретного запроса Solr (ContentSearch) вернуть все элементы с определенным идентификатором шаблона. Всего будет возвращено более 1200 наименований.
Я попытался использовать функцию подкачки для переопределения SearchMaxResults, вызвав запрос следующим образом:
var query = context.GetQueryable<SearchResultItem>().Filter(i => i["_template"].Equals(variantTemplateId));
query = query.Page(1, 1500);
var results = query.GetResults();
Однако я по-прежнему получаю только одну страницу из 500 элементов, поскольку размер страницы 1500 не переопределяет значение SearchMaxResults, равное 500.
Я действительно не хочу увеличивать SearchMaxResults для всех запросов, поскольку это будет иметь негативное влияние в целом на поиск. Было бы идеально, если бы я мог временно установить для этого параметра значение «» (неограниченное количество результатов), выполнить свой запрос и вернуть его к значениям по умолчанию - но я не вижу способа сделать это. Я также не могу использовать GetDescendants () для получения всех этих элементов, так как это отрицательно влияет на производительность сайта, даже если я делаю это только один раз и сохраняю результаты в кэше памяти.
Любое направление будет с благодарностью.