キーワード検索で、全角・半角・ひらがな・カタカナなどを区別せず曖昧に検索させる

a-blog cms は、標準でキーワード検索機能がついており、全エントリーからキーワードで検索することができます。

しかし標準状態では、全角・半角・大文字・小文字などは別の文字と認識され検索に引っかかりにくい場合があります。 ここでは曖昧な検索でヒット率をあげるカスタマイズをご紹介します。

曖昧な検索

下記の違いは、同じワードとして検索できるようになります。

  • 全角 / 半角
  • 大文字 / 小文字
  • ひらがな / カタカナ

カスタマイズ方法

MySQLの照合順序の設定を変更します。 標準では utf8_general_ci が使われていると思いますが、この utf8_general_ci では 大文字 / 小文字 は同じワードとして認識しますが、 全角・半角・ひらがな・カタカナは曖昧な検索をしてくれません。そこで、この照合順序を utf8_unicode_ci に変更します。

対象テーブル・カラム

acms_fulltextfulltext_valuefulltext_ngram が対象になります。

変更方法

下記はSQL文による変更方法ですが、SQLに詳しくない場合は、phpMyAdminなどのGUIで変更することをおすすめします。

ALTER TABLE acms_fulltext MODIFY COLUMN fulltext_value TEXT COLLATE 'utf8_unicode_ci';

ALTER TABLE acms_fulltext MODIFY COLUMN fulltext_ngram TEXT COLLATE 'utf8_unicode_ci';