Mroongaの高速全文検索機能でnWordPress内のコンテンツをn有効活用!

: author

須藤功平

: institution

クリアコード

: content-source

【徳丸浩と学ぶビジネスセミナー】\n
WordPressのセキュリティと全文検索について学ぶ!\n
【Mroonga対応】

: date

2018-02-09

: start-time

2018-02-09T13:50:00+09:00

: end-time

2018-02-09T14:50:00+09:00

: theme

.

全文検索

Google・Bingがn 提供しているn 機能

Google提供の機能

キーワードでn 部分一致検索n (('note:「ラーメン」で「味噌ラーメン」も「豚骨ラーメン」もヒット'))

Google提供の機能

高速な検索n (('note:1秒以内に返ってくる'))

Google提供の機能

それっぽい順でn 並び替えn (('note:先頭数件だけ見れば結果を判断可能'))

Google提供の機能

ページの中身をn チラ見せn (('note:ページを開かなくても結果を判断可能'))

Google提供の機能

検索結果中のn キーワードをn ハイライトn (('note:どこにヒットしたかがわかりやすい'))

Google提供の機能

複数キーワードn でのn 絞り込みn (('note:「ラーメン」→「ラーメン 豚骨」で絞り込み'))

Google提供の機能

キーワードのn 入力補完n (('note:「wo」で「WordPress」を提示'))

Google提供の機能

同義語の同一視n (('note:「ワードプレス」でも「WordPress」が見つかる'))

Google提供の機能

現在地周辺のn 情報をn クローズアップn (('note:「ラーメン」で品川周辺のラーメン情報を提示'))

Google提供の機能

* 💡意外とある!
* WordPressでも使えれば!
  * サイト内回遊率🆙

WordPressの全文検索

組み込み機能n (('note:すぐに使える!'))

組み込みの全文検索機能

* 遅くなりがち
* 基本機能のみ
  * 😀キーワードで絞り込み
  * 😅それっぽい順の並び替え:弱い

WordPressで全文検索

プラグインでn 拡張

全文検索プラグイン

* Google Custom Search\n
  (('note:wordpress.orgもこれ'))
* その他
  * SaaSを利用
  * 全文検索エンジンと連携
* 🆕 Mroonga

Google Custom Search

* 😀高速・便利
* 😅広告が入る

Mroongaプラグイン

* 😀高速
* 😀KUSANAGIですぐに使える
  * KUSANAGIは組み込みで対応!
* 😅まだ機能が少ない
  * これからもっと便利に!\n
    (('note:昨年末にリリースしたばかり'))

Mroongaプラグイン:速さ

* 記事数:約13万件
* キーワード:1単語
* ヒット数:約1000件

Mroongaプラグイン:速さ

# RT
delimiter = [|]

処理 | 組み込み | Mroonga
SQL(*1) | 0.86秒 | 0.05秒
HTTP(*2) | 1.91秒 | 0.43秒

(('note:(*1) SQLのレスポンスが返ってくるまでの時間'))

(('note:(*2) Webブラウザーにレスポンスが返ってくるまでの時間'))

(('tag:center')) 数倍高速!n 1秒以内結果が返ってくる!

KUSANAGIで簡単設定

# _
# kusanagi addon install mroonga

デモ

KUSANAGIでのn 使い方

全文検索の活用

回遊率🆙にn 全文検索をn 活用するには?n 🤔

全文検索の活用

キーワードでn 部分一致検索n (('note:別の記事の閲覧につなげて回遊率🆙'))

部分一致検索

* 😀わかりやすい
  * ≒使い始めやすい
* 😅やりすぎるとノイズに
  * "pre"で"WordPress"にヒットは…?
  * ノイズが多いと離脱\n
    (('note:😒もう有用なページはなさそうだなー'))

部分一致検索とノイズ

* 💡そもそもヒットさせない
  * 単語境界だけヒットさせる
* 💡ヒットしても上位にしない
  * ユーザーは先頭数件しか見ない

キーワードで検索

キーワードがn わからない…😅n ↓n 離脱n (('note:😒もう有用なページはなさそうだなー'))

キーワードがわからない

キーワードをn 提示n 💡

キーワードを提示

* よく検索されるキーワード\n
  (('note:ログを分析して実現'))
* 入力補完
* 記事の情報から提示
  * タグをキーワードに
  * 内容からキーワードを抽出

キーワードを提示

キーワード…?n ↓n 提示💡n ↓n もっと読もう!

キーワードの精度

表記の違いはn どうする?

表記の違い

* 「WordPress」で\n
  「ワードプレス」はヒット?
* 「Apple」で\n
  「りんご」はヒット?\n
  (('note:Appleは企業名かも?'))
* 「マック」で\n
  「Mac」はヒット?\n
  (('note:マクドナルドかも?'))

表記の違いへの対応方法

場合による

同義語展開

* 同一視する語をカスタマイズ
* 検索時にOR
  * WordPress→\n
    WordPress OR ワードプレス

同義語管理

大変😅

同義語

* 共通で使えるもの
  * 例:WordPressとワードプレス
* 文脈依存のもの
  * 例:マックとMac

共通で使える同義語

* 自動作成可能
  * 例:Wikipediaのデータを活用
* やるならインポートまで自動化
  * そうしないと管理がつらい

文脈依存の同義語

* 半自動生成可能
  * 内容を解析
  * ある程度量が必要
  * 間違いもある
* 現実解
  * 自動で候補作成して手動で確定

同義語展開

○○で検索!n ↓n 見つかった💡n ↓n もっと読もう!

ヒット数が多い

先頭数件でn 判断

判断

* タイトルを確認
  * 😀お、このページかも!
* 内容を確認
  * 😅ページを開くのは面倒だなー
  * 😑一部を覗けたらなー

内容の一部

* キーワード周辺
  * 😀この文脈なら欲しいやつかも!
* 画像
  * ページ内で使われているやつとか
  * スクリーンショットがあればいい\n
    というわけではない!\n
    (('note:同じサイトだと似た画像になって情報量が少ない'))

判断結果

* 上位に欲しいものがある
  * サイト内回遊率🆙
* 上位に欲しいものがない
  * 😒見つからなそうだなー:離脱
  * 🤔絞り込もうかなー

絞り込みは難しい

どうやってn 絞り込めば…n 😔

絞り込み候補を提示

* 入力補完
* 絞り込みリンク
  * タグで絞り込むリンク
  * 時期で絞り込むリンク\n
    (('note:時期なら並び順を変えるのでもよいかもしれない…!'))

絞り込み候補を提示

絞り込み!n ↓n 見つかった💡n ↓n もっと読もう!

検索

難しいね…n 😒

検索は難しい

検索しなくてn いいならな…n 😒

少なくとも

検索をn 意識しなくてn 済むように!n 🤔

実は検索

* Amazonでオススメ商品
* Facebookのフィード
* Androidで最寄り駅の時刻表

実は検索

意外とある🤔

WordPressなら?

関連記事

関連記事

* 実現方法はいろいろ🤔
  * 同じカテゴリーの記事を検索
  * 似た属性の人が興味ある記事を検索
  * 似た内容の記事を検索
* 特性が違う

同じカテゴリー

* 😀精度が高い
  * タグは人がつけているから
* 😅漏れがある
  * タグは人がつけているから
* 😅意外性が少ない

似た属性の人が興味

* 😀意外なものも見つかる
  * 機械学習で潜在的な情報を発見💡
* 😅たくさんのデータが必要
  * 似た属性の人…?🤔
  * オープンしたてでは使えない😑

似た内容の記事

* 😀すぐに使える
  * 全文検索を使える!
* 😀メンテナンスいらず
  * データを更新したら自動で同期
* 😅精度・網羅性はまぁまぁ
  * 十分使えるレベル

関連記事

これよかった!n ↓n あれも気になるn ↓n もっと読もう!

WordPressで全文検索を活用

* サイト内回遊率🆙
  * 潜在的にマッチする記事を掘り出す
* ポイント💡
  * 検索の手間を減らす
  * 明示的な検索アクションをなくす

Mroongaプラグイン

* 😅今はまだ少ししかできない
  * 高速検索+並び替え+…
* 💪今後もっとパワーアップ!
  * 紹介した活用方法を実現!

使ってみよう!

* 😀簡単インストール
  * 無効にするのも簡単
* 😀デフォルトよりよくなる!
  * デメリットはディスク使用量が\n
    増えるくらい

使ったら…

フィードバックn してね!

フィードバック?

よいこともn 悪いことも

よいこと

(('tag:center')) (('note:フィードバック先(プラグインページのレビューコーナー)'))n (('tag:x-small')) ((<URL:ja.wordpress.org/plugins/mroonga/#reviews>))

* 😀すごい!速くなった!
  * 💡この環境で動作確認できた!
* 😀回遊率があがったよ!
  * 💡狙い通りの結果がでているな!

(('tag:center')) (('note:なにがうまくいっているのかわかるのでうれしい!'))

悪いこと

(('tag:center')) (('note:フィードバック先(プラグインページのサポートフォーラム)'))n (('tag:x-small')) ((<URL:wordpress.org/support/plugin/mroonga>))

* 😅インストールが失敗する…
  * こんなケースがあるのか!直そう!
* 😅思ったより遅い…
  * このデータのときでも速くしよう!

(('tag:center')) (('note:よくするきっかけになるのでうれしい!'))

インストール方法

# _
# kusanagi addon install mroonga

(('tag:center')) (('note:普通のWordPressのプラグインのインストール方法でもOK'))

サポートサービス紹介

* 導入支援(('note:(設計支援・性能検証・移行支援・…)'))
* 運用支援(('note:(障害対応・チューニング支援・…)'))

問い合わせ先:

(('tag:x-small')) ((<URL:www.clear-code.com/contact/?type=groonga>))

(('tag:center')) プライム・ストラテジーさんとn KUSANAGI+MroongaサポートもOK!