検索ログと検索エンジン
高まる検索エンジンの重要性
Webサイトに検索窓を設置するには、検索ポータルサイト各社が提供しているサイト内検索を利用する方法や、サイトの運営者が自分で検索システムを構築する方法があります。
検索ポータルサイト各社が提供しているサイト内検索を利用すれば、少ない手間で手軽に検索窓を設置することができます。実際、無償の検索窓を設置するための作業を試してみたところ、いくつかの設定を決めるだけでそれほど時間をかけずに設置のためのHTMLソースを得ることができました。
では、手軽に使えるサイト内検索機能が提供されているのに、なぜわざわざ検索システムを構築するのでしょうか。
そこにはサイトの種類や検索窓の設置目的、運営ポリシーなどのさまざまな理由が考えられますが、ここでは2つの理由について述べていきます。
まず1つは、無償で一般ユーザー向けに提供されている検索機能では検索ログを取得することができないということです。検索ログを取得できないというのは本連載のそもそもの目的に合いません。
そこで、検索ログを取得するためには自分で検索システムを構築しなければならないということになります。ただし、法人向けには各社とも有償もしくは無償で検索ログも取得できるサイト内検索も提供しています。提供元によって機能に差異がありますが、ここではそれらについては紹介しません。これらのサービスを利用するにあたっては、必要な要件を満たすものかどうか十分に検討する必要があります。
2つ目の理由は拡張性とカスタマイズ性の問題です。検索ログからサイトの問題点を推測できたとしても、それを改良できなくては意味がありません。もし検索の機能そのものに問題があるとわかっても、検索ポータルサイトによって提供されている汎用のサイト内検索機能ではカスタマイズできる範囲に限りがあります。
その点、自ら構築したシステムであればさまざまな拡張/カスタマイズに対応できます。また、サイト自体の構築と統一することもできますし、工夫次第ではアクセスログやユーザー情報と組み合わせたより詳細な検索ログを取得することも可能です。
サイト内検索システムの構築には、全文検索システム(検索エンジン)を使用します。全文検索システムでは、検索機能のコアとなる部分が提供されていますので、検索アルゴリズムについて詳しい知識が無くても検索システムを構築することができます。
現在、有償/無償のさまざまな全文検索システムがリリースされています。本連載ではその中でも、オープンソースで提供されているものに注目します。オープンソースソフトウエアはソースが公開されていますので、前述したような拡張/カスタマイズが可能です。
本連載では、サイト内検索にオープンソースの全文検索システムを使用するとき、どのソフトウエアを選択すればいいかを中心に解説していきます。
検索エンジンとは
一般的に、「検索エンジン」として知られているのはインターネットにある情報を検索できるサイト(検索ポータルサイト)としての検索エンジンです。ですが、「検索エンジン」という言葉を広くとらえると検索を行えるソフトウエアの総称ともいえます。
本連載のタイトルになっている「検索エンジン」は検索ソフトウエアのことです。検索ソフトウエアは検索対象のドキュメントから、そこに含まれる単語を検索する直接検索と、検索対象ドキュメントに付随するカテゴリ情報やタグなどのメタデータから単語を検索する間接検索(メタデータ検索)に分類できます。
サイト内のページからキーワードで情報を検索するというのは直接検索にあたります。ドキュメントから直接検索を行うソフトウエアを全文検索システムといいます。
続いて全文検索システムの分類について解説します。