Существует несколько различных подходов к запросам элементов из Sitecore:
- Запрос Sitecore
- Быстрый запрос
- Lucene
КаждыйУ подхода есть свои плюсы и минусы.Например, Sitecore Query и Fast Query имеют ограничение на количество элементов, которые они могут вернуть.Этот предел является настройкой Query.MaxItems
в web.config
.Lucene, с другой стороны, является собственным зверьком и использует поисковые индексы, хранящиеся на диске для доступа к элементам.
Запрос Sitecore является наиболее гибким с точки зрения фильтрации элементов прямо в запросе, однако чем сложнее ваш запрос,чем дольше будет работать (это обобщение).Часто проще сделать более общий запрос, чем использовать .NET для его фильтрации, например, LINQ.Быстрый запрос идет прямо в базу данных для запроса и, таким образом, имеет ограничение на фильтрацию.Он работает быстрее, но вы не можете быть настолько детализированы с тем, что хотите проверить в своем запросе.
Lucene - это другой подход, так как он использует поисковые индексы для запроса содержимого и фильтрации.Это требует дополнительной настройки конфигурации и обслуживания поискового индекса.
Это может помочь вам решить, какой подход выбрать:
- 100 или менее элементов: Sitecore Query
- 1000 элементов или меньше: быстрый запрос
- 1000 + элементов: Lucene
Я также ранее писал в блоге на эту же тему: