Drupalの標準検索で足りる条件と、外部サイト内検索サービスを検討する分岐点
サイト内検索は、要件定義で必要と早々に合意される一方、どの実現方法を採るかは後工程に先送りされやすい項目です。CMSに標準の検索機能が備わっているため、まずはそれで進めるという判断になる場合もあります。
ただし、公開後にご相談をいただくのは検索の有無ではなく、検索結果の並び方についてです。Drupalの標準の全文検索は、キーワードとの一致度をスコアとして算出し、その高い順に結果を並べます。この仕様には理屈がありますが、主力製品を上に出したい、新着から並べたいという運用側の意図とは別の原理で動きます。
本記事では、Drupalの標準検索で足りる条件と、外部のサイト内検索サービスを検討する分岐点、そして導入がスムーズに進む条件について解説します。
目次
Drupalの標準検索は、一致率のスコア順で並ぶ
なお、本記事ではDrupalコアが標準で提供する検索機能を前提として説明します。Search APIのような拡張モジュールを利用する場合は、並び順の制御に関して異なる選択肢が生じます。
Drupalでコーポレートサイトを構築した案件では、サイト内検索にDrupal側の標準的な全文検索の仕組みを採用しました。挙動としては、検索の仕組みの内部でコンテンツ一件ごとに一致率にあたるスコアが算出され、そのポイントが高い順に結果が並びます。
この仕組みの前提は、キーワードとコンテンツの一致度が高いものほど利用者にとって有用だろうという考え方です。この前提が成り立つサイトであれば、標準の仕組みがそのまま使えます。追加のサービス契約が不要で、CMSの標準機能として最初から利用できるため、公開までの期間も短く済みます。検索窓の設置や検索結果ページの表示もDrupalの標準の仕組みに沿って用意できるため、検索のために別のサービスを契約したり、運用担当者が新しい管理画面の操作を覚えたりする必要もありません。日々の運用で見る画面がCMSひとつに収まる点は、担当者の人数が限られている場合の利点になります。
一方で、次のような要望が出た場合は、標準の並び順とはズレが生じます。
- 特定の製品カテゴリを、検索結果の上位に固定して表示したい
- 検索キーワードに応じて、おすすめのページを最上位に差し込みたい
- 古い情報が上位に来ないよう、公開日の新しさを順位に反映させたい
このズレが許容できる範囲であれば、標準検索のまま進められます。許容できない場合に、外部のサイト内検索サービスを検討する段階に入ります。判断軸は検索機能の有無ではなく、並び順を誰が決めたいかという点にあります。
コンテンツ数が少なければ、標準機能で足りる
前述の案件では、標準検索をそのまま採用しています。理由は、コンテンツ数がそれほど多くなく、検索に重きを置いた要件ではなかったためです。ページ数は100〜200程度、活動内容とお知らせの一覧にはタグによる絞り込みが用意されており、利用者はそちらで目的の情報にたどり着ける構成でした。このサイトの規模では、標準の全文検索であっても検索結果の応答速度や精度に大きな問題は生じませんでした。
サイト内検索への投資判断では、コンテンツ件数と、検索以外の導線が機能しているかが材料になります。件数が限られていて、一覧の絞り込みが整理されているなら、検索は補助的な導線と位置づけ、標準機能を採用する判断も成り立ちます。その場合、検索に充てる想定だった予算は、一覧の絞り込みの作り込みやコンテンツの制作に配分できます。逆に、製品点数が多いサイトや、型番での検索が主要な入口になっているサイトでは、並び順の制御が利用者の行動に影響しやすいため、投資を検討する対象になります。
要件定義の段階では、次の3点を確認しておくと、判断材料が揃い、検討をスムーズに進められます。
- 検索対象となるコンテンツの現在の件数と、3年後の見込み
- 検索以外にどの導線が用意されているか(一覧の絞り込み、カテゴリ階層、サイトマップ)
- 検索結果の並び順について、運用側で制御したい要望があるか
一覧の絞り込みと全文検索は、別の設計項目として扱う
要件定義で混ざりやすいのが、一覧ページの絞り込みとサイト内検索です。利用者から見ればどちらも探す操作ですが、設計上は別の項目として扱う必要があります。
一覧の絞り込みは、あらかじめ用意された分類のなかから選ぶ操作です。選択肢は運用側で管理でき、結果に何が出るかも予測できます。前述の案件では、活動内容一覧とお知らせ一覧にタグによる絞り込みを用意し、この分類をDrupalのタクソノミー機能で管理していました。分類を増やす作業は管理画面で完結します。
一方、全文検索は利用者が任意のキーワードを入力する操作です。何が入力されるかは事前に決められず、結果の並び順もスコアの計算に委ねられます。運用側で調整できるのは、対象範囲の指定と、検索対象になるテキストの整備までです。具体的には、絞り込みの選択肢は管理画面から自由に増やせますが、標準の全文検索では入力されたキーワードごとに順位が変わるため、1件目に出すページを運用側で指定することはできません。
この違いを踏まえると、要件の書き方が変わります。想定される探し方が分類で表現できるなら、一覧の絞り込みを整えるほうが、投資に見合う成果を得やすくなります。型番や固有名詞のように分類で表現しきれない探し方が中心なら、全文検索の精度と並び順が論点になります。どちらの導線を主にするかを先に決めておくと、検索に配分する予算の判断材料が揃います。
検索を外部に寄せたとき、CMS側に残る役割
外部サービスに検索を寄せると、検索結果の生成は外部サービス側が担います。一方で、CMS側には次の役割が残ります。
- クロール対象となるページを、正しく公開状態で提供すること
- ページのタイトルや説明文など、検索結果に表示される情報を整えること
- 検索窓と検索結果ページにタグを埋め込み、その状態を維持すること
- 新しいページを公開してから検索結果に反映されるまでの時間差を、運用として見込んでおくこと
最後の項目は、公開直後に検索でヒットしないというお問い合わせにつながることのある点です。クロールと検索データベースの生成は設定した時間に実行されるため、公開してすぐに検索結果へ反映されるわけではありません。クロールの設定によっては、数時間から1日程度の時間差が生じることがあります。この時間差を運用フローの前提として関係者に周知しておくと、公開後の確認作業での行き違いを減らしやすくなります。プレスリリースのように公開直後の到達が重要なページについて、トップページからの導線を別に用意しておくかどうかも、事前に手当てしておける項目です。
また、検索を外部に寄せても、製品データの整合性はCMSまたは上流のシステム側に残ります。同じ製品情報が複数の場所に存在する構成では、どちらを正としてどちらへ流すのかを、検索の導入とあわせて確認しておくことをおすすめします。
LYZONが提供するWebサービス
Webに関するお悩みは、まずLYZONへ
構築・運用・AIまで、Webに関わる課題をワンストップで対応。まず何ができるかをご覧ください。
株式会社LYZONの社内ニュースを始め、デザインの知識やお役立ち情報など様々な情報を発信しています。