非常に使いやすい素晴らしいプラグインなのですが、劇遅になるときがあります。検索時前ページの markdown / twig のレンダリング結果に対して検索をかけることに1つ理由があります。結果、ページ数が増えると、このレンダリングが結構な負荷をかけるようです。
search_content
オプションを、rendered
から raw
に変換します。
これで、Page::content()
に対して行われていた検索が、Page::rawMarkdown()
に対して行われるようになり、私の環境では、爆速化しました。
/your/site/grav/user/plugins/simplesearch
search_content: rendered
↓
search_content: raw
Markdown と Twig をレンダリングしている箇所を削除してしまいます。
/yoursite/grav/user/plugins/simplesearch/templates/partials/simplesearch_item.html.twig
<section class="search-row">
{% set banner = page.media.images|first %}
{% if banner %}
<div class="search-image">
<a href="{{ page.url }}">{{ banner.cropZoom(100,100).html|raw }}</a>
</div>
{% endif %}
<div class="search-item">
<div class="search-title">
<h3><a href="{{ page.url }}">{{ page.title }}</a></h3>
</div>
<div class="search-details">
<span class="search-date">{{ page.date|date(config.system.pages.dateformat.short) }}</span>
</div>
<p>{{ page.summary|raw }}</p>
<hr/>
</div>
</section>
banner.cropZoom(100,100).html|raw
や、{{ page.summary|raw }}
あたりの処理が重いので、バッサリ切り取ってしまいます。
<section class="search-row">
<a href="{{ page.url }}">{{ page.title }}</a>
<span class="search-date">{{ page.date|date(config.system.pages.dateformat.short) }}</span>
</section>