正確に、確実に情報を検索する!
企業の膨大な情報をスケーラブルに検索
CBESを含めた「エンタープライズサーチ」という製品においては、小規模な企業システムから大規模な業務アプリケーションまで、その規模にかかわらず組織内の膨大な情報をスケーラブルに検索できるさまざまな機能が必要になります。
企業向けの機能としては、さまざまなリポジトリや文書をサポートできる点が挙げられます。CBESの場合、Windowsファイルシステムをはじめ、Lotus NotesやOracleデータベース、Microsoft SQL Serverなどのリレーショナルデータベース(*)に格納されたファイルを横断的に検索することが可能です。
さらに数年前までは1システムに収容可能な文書の数は20万ほどで十分でしたが、この数年で情報量が爆発的に増加したために、大容量の文書を収容できることが求められます。そこでCBESでは1TB/1000万文書まで収容可能です。
そのほかインデックスの容量が大きくなってくると検索スピードも重要になります。例えばGoogleが提供している検索アプライアンスの場合、1秒あたりに検索できる平均処理クエリ数(QPS)は25QPSと公表されており、これを基準にするとよいでしょう。CBESでは、40QPSを実現しています。
ノードの追加で柔軟に拡張
企業向け検索システムを構築する場合には、ビジネスの急激な拡大に柔軟にシステムを拡張できる仕組みを実現することが必要です。CBESの場合は、インデックス作成機能と、作成したインデックスを検索するサービスを分離して構成しています。
1秒間に40クエリ以上の検索が行われるような高いアクセスの検索システムでは、検索サービスのノードを増やす方法もあります。また、大量の情報が短時間で更新されるような検索システムでも、インデックス作成を行うためのノードを追加するという方法で処理能力の向上がはかれます。
CBESでは、従来バッチ処理で作らなければならなかった検索インデックスをリアルタイムに作成することができる「リアルタイムインデキシング」を実装しています。リアルタイムインデキシングとは、Windowsの共有フォルダを対象に、イベントの更新情報を参照し、情報が更新されるとリアルタイムにインデックスを作成する機能です。
リアルタイムにインデックスが作成されるので、これまで夜間バッチ処理後に、1日遅れでなければ検索できなかった文書を、文書の作成者が更新した瞬間から検索することが可能になります。
そのほかにも大規模システムでは、システムをいかに効率的に運用/管理するかも重要なポイントです。例えばCBESでは、サーバーの稼働監視サービスを搭載しており、システムの運用中に問題が発生した場合、プロセスを自動的に停止/再起動することが可能です。エンタープライズサーチにおいては、このような機能もあると便利でしょう。
さて次回は、ファイルサーバー検索の精度を大きく左右する、高度な日本語処理を実現する技術に関して、詳しく解説していきます。