検索エンジンの選定と評価項目

2008年12月10日(水)
早坂 良太

Namazu

 Namazu(http://www.namazu.org/)は日本語を検索できる全文検索システムとしておそらく最も有名なソフトウエアです。最初のバージョンがリリースされたのが1997年、原稿執筆時点(2008年11月現在)で最新のリリースは2008年3月12日の2.0.18です。現在はNamazu Projectによって開発されており、GPLで公開されています。

 Namazuの特徴は、CGIで動作させるための仕組みが用意されており、インストールしてすぐにWebページに組み込んで、サイト内検索として使用できることです。

 また、長らく多くのユーザによって使われてきましたので、資料や解説が豊富にあります。そのほか、さまざまな文書フォーマットを扱うためのフィルターや、Namazuをより便利に使うためのソフトウエアが多くの開発者によって用意されていることもNamazuを使う利点です。

 Namazuの単語分割方法は形態素解析で、形態素解析器としてKAKASI(http://kakasi.namazu.org/)、Chasen(http://chasen-legacy.sourceforge.jp/)、MeCab(http://mecab.sourceforge.net/)を使用することができます。なお、高速化のため、ChasenやMeCabを使う際にはPerlモジュールを用意することが推奨されています。

 NamazuはUNIX系OSやWindowsで動作させることができます。また、PerlやRuby、Win32版のクライアントがリリースされています。

 Namazuの使用事例としては総務省(http://www.soumu.go.jp/)、経済産業省(http://www.meti.go.jp/)、防衛省(http://www.mod.go.jp/)などのサイト内検索が挙げられます。そのほか、「Namazu: a Full-Text Search Engine」というキーワードでWebを検索すると、Namazuを使用しているサイトが数多くあることを確認できます。

Apache Lucene

 Apache Lucene(http://lucene.apache.org/java/)はJavaで実装された全文検索システムです。最初のリリースは2000年で、原稿執筆時点(2008年11月現在)の最新リリースは2008年10月6日の2.4.0です。現在、LuceneはApache Software Foundationのトップレベルプロジェクトの1つとして開発されています。ソフトウエアのライセンスはApache License Version 2.0です。

 Luceneの特徴は、Javaで実装されているため多くのOSで動作することと、単体では動作しないライブラリであることです。サンプルコードは添付されていますが、コマンドライン上でテストを行う程度のものですので、サイト内検索で使用するためには自分でソースコードを書く必要があります。

 また、Luceneを使用した検索サーバにSolr(http://lucene.apache.org/solr/)があります。SolrはLuceneのサブプロジェクトとして開発されているエンタープライズ検索サーバです。SolrはXML/HTTPのAPIを持ち、検索アプリケーションとして既に形になっていますので、ソースコードを書かなくても使い始めることができます。また、管理画面やキャッシュ機構のほか、さまざまな機能が追加されています。

 Luceneは単語の分割方法としてN-gram(bi-gram)に対応しています。日本語(N-gram)以外にもドイツ語やフランス語、ロシア語など多くの言語の単語分割機能を同梱(どうこん)しています。また、Luceneに同梱されてはいませんが、形態素解析による単語分割も可能です。その場合には、MeCabをJavaに移植したソフトウエアであるSen(https://sen.dev.java.net/)を形態素解析器として使用します。

 前述の通り、LuceneはJavaで実装されているため、Java(1.4以上)の動く環境であれば実行可能です。

 また、LuceneはJava以外の言語からも使えるよう移植されています。Luceneのサブプロジェクトとなっているものには、C#(.NET)向けのLucene.Net(http://incubator.apache.org/lucene.net/)、C/Perl/Ruby向けのLucy(http://lucene.apache.org/lucy/)があります。

 LuceneはWikipediaの検索機能に使用されているほか、統合開発環境Eclipseのヘルプ検索でも使われています。そのほかにも、SolrとしてはInternet Archive(http://www.archive.org/)やdigg(http://digg.com/)、AOL(http://www.aol.com/)などで使われています。

電気通信大学 電気通信学研究科 情報工学専攻を修了。尾内・林研究室では検索エンジンをテーマとして研究。全文検索システムの速度性能比較や、検索エンジンの構築を行った。現在は日本アルゴリズム株式会社に所属している。http://www.nalgo.co.jp/

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています