TOP業務システム> PostgreSQLに高度な日本語全文検索を
Ludia
高性能なオープンソース全文検索システム「Ludia」

第1回:蓄積したデータを徹底活用〜全文検索

著者:NTTデータ  加納 寿浩   2006/12/6
前のページ  1  2  3
PostgreSQLに高度な日本語全文検索を

   これらの課題を解決するべく、PostgreSQLに高度な全文検索機能を追加する目的で、Ludiaは開発されました。開発では、既存のオープンソースの全文検索ライブラリであるSennaを活用することで、Ludiaそのものの開発規模をコンパクトにしています。そのかわり、SQL文として親和性の高いインターフェースを提供することに注力し、使い勝手のよいものとしています。Ludiaの主な特徴は以下の通りです。
  • シンプルなインターフェース
  • データの一元管理
  • 高度で多彩な全文検索
  • PostgresForestとの連携による拡張性

表2:Ludiaの特徴


シンプルなインターフェース

   利用者は、PostgreSQLの他のインデックスと同様に、シンプルなSQLを用いてデータベース内のテキストデータの全文検索を行えます。これにより、アプリケーション開発者に新たなインターフェースのノウハウ取得負担を強いることなく、効率的な開発をサポートします。


データの一元管理

   PostgreSQLのデータベースに本格的な日本語全文検索機能を実現するため、これまでのように全文検索システムを別途構築する必要がなくなり、データの一元管理が可能になります。これにより、システムコストの削減が可能となりますし、アクセス権の管理も簡素化されセキュリティが強化されます。


高度で多彩な全文検索

   Ludiaは、本格的な日本語全文検索に対応しています。単純な1つの検索キーワードに対する抽出だけでなく、以下のような多彩な検索手法を提供します。

   これらの機能は、活用している全文検索ライブラリSennaの機能により実現しています。

ブーリアン検索
複数のキーワードをAND検索、OR検索、NOT検索(指定単語が含まない検索)することが出来ます。これにより、必要とする文書を的確に検索します。
近傍位置検索
指定した単語が、近接に位置する文書を検索します。
類似文書検索
指定した文章からキーワードを抽出し、そのキーワードを含む文書を検索することで、類似した内容の文書を検索します。

表3:Ludiaが行う代表的な検索手法


PostgresForestとの連携による拡張性

   Ludiaは、NTTデータ開発の分散データベース機能であるPostgresForest(注2)とも高い親和性を持っています。そのため、単体のPostgreSQLでは能力が不足したとき、PostgresForestを併用することで、スケールアウトすることができます。また、ライセンスコストを気にすることなく能力を拡張することができますので、将来にわたり安心して使用することができます。



   次回は、既存の他のソフトウェアとの比較や全文検索の種類について解説する予定です。

前のページ  1  2  3


株式会社NTTデータ 加納 寿浩
著者プロフィール
株式会社NTTデータ  加納 寿浩
日本でも有数の大規模システム更改プロジェクトに企画段階からサービス開始まで従事。主にメインフレーム上のデータベース性能対策を行う。その後、該当システムのオープン化検証にて、オープン系DBMSの評価を行った。2005年から現職。Ludiaプロジェクトの立ち上げを行う。


INDEX
第1回:蓄積したデータを徹底活用〜全文検索
  はじめに
  普通の検索、全文検索
PostgreSQLに高度な日本語全文検索を