2015年9月19日土曜日

検索結果を爆速にする方法【MT3系】

boost search 爆速


今個人的に使用しているMT3(Movabletype3)の検索結果が異常に遅いのを
しばらく放置したまま時間が経ってしまいました。

現在エントリー数がかなり多くなってしまったサイトを運用中のため
多分、閲覧者が検索をする機会が多くなっており
検索結果が遅いために閲覧者を逃がしている可能性があるのではと思ったためです。
サイト離脱を極力抑えるために
検索結果テンプレートをいじることにしました。

変更方法は2つ考えられます。
①ページ送り(ページ分割)して1ページずつのロードを早くする
②キャッシュ機能を使い、検索結果の内容をあらかじめサーバーに保存させておく

結論は②でいくこととなりました。
①も試してみたのですが、ページ送りをしても、結局検索結果を全部読み込む事となり
待機時間が長くなってしまいます。
環境変数で処理もしてみて、早く読み込む事ができましたが
ページ送りが機能しなくなってしまいます。①の方法は八方塞がりです。

②のキャッシュ機能の方法は以下の通りです。

1.キャッシュ機能を実装するプラグインのインストール
SearchResultsCache プラグインをダウンロードます。(リンク先のページ下、MT(OS)4.1用)
そのファイルを解凍してMT/pluginsにインストールします。
上記リンク先のCpanモジュールを3つをmt/extlibにインストールします。
Cache は解凍してlib内にあるファイル・フォルダをmt/extlibにインストールします。
File::NFSLock も解凍してlib内にあるFileフォルダをフォルダごとmt/extlibにインストールします。
Date::Parse も同じく解凍してlib内のDate、Timeフォルダごとをmt/extlibにインストールします。
(上記3つのファイルはtar.gz圧縮ファイルです。tar.gz対応解凍ソフトを使って解凍してください。私は7-Zipを使用してます。 )

2.検索結果テンプレートの変更
テンプレートの文頭に、
<MTKeyCachedKey><$MTSearchString$></MTKeyCachedKey>

<MTKeyCachedValue>
検索結果テンプレート前項
</MTKeyCachedValue>
というように検索結果構文を挟むように記述します。
参考はこちらをご確認ください。

最初にキーワード検索を使った時は通常の検索時間が必要になりますが、
他者が同様のキーワードで検索した時はキャッシュ機能が働いているため
通常のページのような速さで読み込んでくれます。


ホームページ制作 東京!null ホームページ制作 東京!null

0 件のコメント:

コメントを投稿