Как уменьшить время прогрева кэша результатов запроса, когда ваш запрос похож на «q = *: *»? - PullRequest
1 голос
/ 20 января 2020

Наш индекс solr содержит ~ 10 000 000 документов. Мы делаем массовые обновления каждые 2 часа. После каждого массового обновления, когда новый поисковик разогревается, мы видим пик нашего времени отклика. Это связано с прогревом кеша Query Result, который занимает ~ 40 секунд, а это слишком много. Кроме того, коэффициент попадания в кэш результатов запроса очень мал, т.е. ~ 7%.

Наша конфигурация в solrconfig. xml выглядит следующим образом: -

Для нового поисковика: -

<listener event="newSearcher" class="solr.QuerySenderListener">
  <arr name="queries">
    <lst>
        <str name="q">*:*</str>
        ...
        ...
    </lst>
  </arr>
</listener>

Для кэша результатов запроса: -

<queryResultCache class="solr.FastLRUCache"
                     size="10000"
                     initialSize="512"
                     autowarmCount="128"/>

Мы попытались настроить наш кэш результатов запроса, изменив кэш size, initialSize и autowarmCount, но не получили сокращения во время прогрева (хотя коэффициент попадания немного увеличивается до ~ 9%).

Может кто-нибудь предложить способ сократить время прогрева кэша результатов запроса с такими конфигурациями?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...