こんにちは。
超高速WordPress仮想マシンKUSANAGIを開発している田島と申します。
今回はWordPressで利用可能な日本語全文検索機能Mroongaについてお話します。
WordPressデフォルトの検索
WordPressではデフォルトでフリーワード検索を利用できます。
これによって任意の検索ワードを検索エリアに入力して、マッチする記事を探すことができます。
しかし、デフォルトのWordPressのフリーワード検索では、タイトルとコンテンツエリアに対して単純な線形探索を行う為、記事数が増えるにつれてパフォーマンスの低下が顕著にあらわれてしまいます。
これを改善するアプローチの一つが、Mroongaの導入です。
Mroonga
MroongaはMySQLやMariaDBに追加するストレージエンジンで、プラグインとして導入できます。
データベースで有効化された後、WordPressで利用する場合はWordPressのプラグインとしてフリーワード検索に利用可能です。
試しに136067数の記事のWEBサイトを対象にWordPressのフリーワード検索をして性能を検証してみました。
実行時間 | デフォルト | Mroonga有効 |
---|---|---|
MySQLクライアント | 0.86 sec | 0.05 sec |
ブラウザ応答 | 2.49秒 | 0.43秒 |
Mroongaを有効にした環境の方がMySQLクライアントベースで17倍、ブラウザベースの応答時間で5.8倍の性能向上を実現することができました。
また、Mroongaは単純に検索のスピードをアップさせるだけでなく、より検索ワードにマッチした記事順にソートしたり、検索ワードで一致しなかった場合に近い記事の内容を取得するなどの検索機能が豊富に実装されています。是非チェックしてみてください。
ちなみにKUSANAGIを利用するとシームレスにMroongaを導入することができます。よろしければお試し下さい。
▶超高速CMS実行環境 KUSANAGI公式サイト
▶KUSANAGIを利用したマネージドサービス KUSANAGI公式サポートサービス
▶『WordPress × KUSANAGI 課題解決事例100選』プレゼント
▶PageSpeed Insightsを劇的改善!WEXAL® Page Speed Technology