サイト内検索の重要性について 第01回 18年03月 / 最終更新:2018.03.01

初めまして。森下 竜行(もりした たつゆき)と申します。
現在プライム・ストラテジー株式会社にてコンサルトとして日々精進しております。
WordPressをはじめとする主要CMSによるウェブサイト構築と「KUSANAGI」※1を用いたアプリケーション・サーバー保守運用サービスを行っており、日々お客様が抱えている課題を解決に導くサポートをさせて頂いております。

※1:プライム・ストラテジー株式会社が開発・構成する、WordPressを高速に動作させるための仮想マシンおよびそのイメージです。WordPressの実行時間3ミリ秒台、秒間1000リクエストをページキャッシュ非使用で実現する世界最高速クラスのWordPress実行環境です。

私自身法学部出身でウェブサイトやサーバという言葉に触れたことのないような文系人間ということもあり、この度は理系の方はもちろん是非文系の方にもとっつき難いウェブ(ここでいうウェブとはアプリケーションやサーバのこと)の魅力を伝えたいため執筆することを決意致しました。

さて、今回コラムニストとして初めてご紹介させて頂くのはMroonga(ムルンガ)というものです。

今回の流れ
① Mroongaとは
② 検索速度、検索性能の重要性
③ WordPress + Mroonga
④ KUSANAGI環境でのMroongaのインストール方法

① Mroongaとは
まず読み方を説明しないとですね!読み方は「むるんが」と言います。
私も最初なんと読むのか分からず心の中では「まろんが」と読んでいました(笑)。
読み違いで恥ずかしい思いをしないためにも知っておいてください。

MroongaとはGroongaという全文検索エンジンをMySQL用にストレージエンジン※2にしたものです。
簡潔に説明致しますとMroongaを採用することで高速かつ検索性能が上がるということです。

※2:MySQLなどのデータベース管理システムが、データベースにデータを
書き込んだり、読み込んだりするときに使われる基盤を「ストレージエンジン」と呼びます。

② サイト内検索性能の重要性
多くのウェブサイトでは魅力あるコンテンツをユーザーに届けるために日々更新していると思いますが、その結果コンテンツページは増えていく傾向にあります。サイトによっては数千から数十万ページを保有するものもあります。
ウェブサイトに訪れるユーザーは個人・取引先・株主・金融機関・行政等多岐に渡ります。また、各ユーザーごとに欲しい情報も多岐に渡ります。
そのため、ウェブサイトは目的の異なるユーザー達が目的とする情報をどのように的確に提供できるかどうかが問題になります。
その問題を解決できる唯一の解決策が「サイト内検索」です。
つまり、ユーザーが目的の情報にたどり着けるようにするためには基本性能がしっかりしているサイト内検索エンジンを採用する必要があります。

③ WordPress + Mroonga
今や全世界の4分の1のウェブサイトがWordPressで動いています。
そんなWordPressには初めから文字検索ができる機能がついています。
ただしこの機能はタイトルと本文にのみ有効で、カテゴリ名やタグには適用されません。もちろん、ユーザーが勝手にセットしたカスタムフィールドも無視されます。
Mroongaのような全文検索エンジンを採用することで、カスタムフィールドやカテゴリ・タグも全て検索に引っかかるようになりますので、ユーザーが求めている情報にたどり着きやすくなります。

④KUSANAGI環境でのMroongaの実装方法
通常MySQLにMroongaをインストールする場合下記のような手順を踏む必要があります。

1. 事前にGroongaというものを追加します。
2. Mroongaをインストールする際に事前にGroongaのパスを通す必要があるので、ヘッダファイルとライブラリファイルのパスを設定する。
# export GROONGA_CFLAGS="-I/usr/local/include/groonga"
# export GROONGA_LIBS="-L/usr/local/lib -lgroonga"
3. Mroongaをインストールする。
# wget http://packages.groonga.org/source/mroonga/mroonga-5.06.tar.gz
# tar xzvf mroonga-5.06.tar.gz
# cd mroonga-5.06
# ./configure --with-mysql-source=/usr/local/src/mysql-5.6.25 --with-mysql-build=/usr/local/src/mysql-5.6.25 --with-mysql-config=/usr/local/mysql/bin/mysql_config
# make
# porg -lD "make install"

4. MySQLを再起動する。
# service mysqld restart

KUSANAGI環境だとMroongaをインストールする場合、下記のコマンドを入力するだけで簡単にインストールすることができます。
# kusanagi addon install mroonga
※現KUSANAGI環境のMariaDBのバージョンが10.0の場合は下記kusanagi upgradeコマンドで10.1にアップグレードする必要があります。

いかがでしたでしょうか。
今後新しいクラウドサービスを導入予定でMroongaを試してみたい方がいらっしゃいましたら、日本に大規模なデータセンターを構え、手厚いサービスをしてくれることで定評のある鈴与シンワートの「S-Port」クラウドを導入してみてください。
また、WordPressを高速に動作させる実行環境「KUSANAGI」もS-Portに対応しておりますので、是非ご活用ください。

ご興味がある方は以下をご参照ください。

S-Portについてはこちらから:https://s-port.shinwart.com/
KUSANAGIについてはこちら:https://s-port.shinwart.com/service/kusanagi/