Во время построения индексов в Solr нет теплого кэша, однако есть функция, называемая прослушивателями, связанными с запросами , с помощью которых вы можете прогреть поисковики индексов во время их запуска.
Существует два типа событий - firstSearcher
(это обычно происходит при запуске Solr) и newSearcher
, которые запускаются при подготовке нового поисковика (одним из примеров такого события может быть жесткая фиксация)
Часть в solrconfig.xml
может выглядеть следующим образом:
<listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries">
<!--
<lst><str name="q">solr</str><str name="sort">price asc</str></lst>
-->
</arr>
</listener>
<listener event="firstSearcher" class="solr.QuerySenderListener">
<arr name="queries">
<lst><str name="q">static firstSearcher warming in solrconfig.xml</str></lst>
</arr>
</listener>
Что вам нужно сделать - это перечислить ваши тяжелые запросы, чтобы они были подогреты перед обслуживанием поисковых запросов.Это должно ускорить поиск в дальнейшем.
Не забывайте обычные правила правильного использования фильтра, так что FilterCache также будет заполнен правильно.