第4回 全文検索エンジン「Lucene/Solr」の用途と良さ
情報インフラの発展に伴い、私たちが接する情報の絶対量は増加の一途をたどっています。そのため、目的とする情報をすばやくピンポイントで入手するのが困難な状況も増えています。
一方で情報提供側にとっても、情報を確実に利用者に届けることがビジネスの成功に重要な要素となってきており、これを実現するための努力が日々続けられています。
このような状況で、高速で柔軟性が高い検索処理のニーズが高まってきており、全文検索エンジンが注目を集めています。ここでは、オープンソースの全文検索エンジンである「Lucene/Solr」を紹介します。
Lucene/Solrとは
Lucene/Solrは、Apache Software Foundation(ASF)のLuceneプロジェクトで開発されているソフトです。LuceneはPure Javaで実装された全文検索エンジンで、単独では実行不可能なライブラリの形式で提供されます。またSolrはLuceneを検索コアに利用した全文検索サーバー・アプリケーションで、単独で実行可能な形式で提供されます。
なお、「Lecene」という名称は実際にはASFのプロジェクトを指す名称で、全文検索エンジン・ライブラリの正式な名称はLucene Javaとなりますが、本稿では全文検索エンジン・ライブラリをLuceneと記載します。
全文検索エンジンの活用
全文検索エンジンと聞いてすぐに想起するのは、GoogleやYahoo!などの検索サービス・サイトが提供するインターネット上のサイト検索です。しかし全文検索エンジンは、個々の企業やサイトが独自の全文検索機能を導入してさまざまなメリットを得るのに利用することも可能です。具体的なLucene/Solrの詳細に入る前に、まずは独自に全文検索エンジンを導入する一般的な目的やメリットをいくつか紹介しましょう。
(1)コーポレート・サイトなど、一般的なWebサイト
通常のWebサイトではサイト全体を構成するページ間の“動線”を設計していますが、必ずしもすべてのニーズを満せる動線設計が可能とは限りません。場合によっては「かなり深くリンクをたどらないと到達できない死角」を作ってしまいます。このようなサイトで全文検索機能を用意すれば、死角に対するダイレクト・アクセスの経路を提供できます。
(2)電子商取引サイト
顧客が求める商品を効率よく提示することが重要な課題になります。全文検索エンジンはそのための有効なツールとなります。特に分類が難しい商品説明の内容を直接検索できる点や、顧客の入力した口コミ情報、タグなどを一括して検索可能である点など、全文検索エンジンが役立ちます。
(3)内部統制強化のためにメール・ログやWebの利用記録などが大量に保管されているケース
これらの情報を検索するためのツールとして全文検索エンジンを用いれば、迅速なインシデント対応に役立てられます。特にメールのログに含まれるメール本文は単純な部分一致などで検索しようとすると、非常に処理時間が掛かったり結果の精度が悪くなったりする場合がありますが、言語処理をベースに実装された全文検索エンジンを用いれば、高速かつ高精度な検索を実現できます。
(4)企業の報告書や提案書、各種資料などの検索
各企業では、電子文書が日々大量に作成されていますが、それらの情報は有効活用されているでしょうか?全社での共有を目標に共通のファイル・サーバーなどに格納しただけではどこに何があるか分からず、結局一つずつのファイルを開いて確認するような運用になっているケースも多くあります。全文検索エンジンで、それらファイルを横断的に検索するシステムを構築し、文書を有効活用できるようになります。
全文検索エンジンは、自然言語で記述されたフラットなドキュメントなどを、キーワードやフレーズといった比較的自由に表現された条件で検索する機能を大きな特徴とします。従って、上に挙げた内容はあくまで一例であり、特徴にマッチする業務であれば、常に全文検索エンジン活用の可能性があります。
実際の活用局面では、個々のプロダクトが持つ特性によって製品ごとの向き/不向きがあります。以下では全文検索エンジン選択の際にポイントになる点を挙げつつ、Lucene/Solrでの対応状況、特徴について説明します。
連載新着連載目次へ >>
- 第16回 「OpenSSO」と「OpenAM」で実現するシングルサインオンとID管理(解説編)(2010/11/16)
- 第15回 大規模データの新たな価値を生み出すHadoop(構築編)(2010/09/16)
- 第14回 大規模データの新たな価値を生み出す「Hadoop」(解説編)(2010/08/25)
- 第13回 ARToolKitで簡単AR (実践編)(2010/05/31)