Ludia

Ludia（るでぃあ）は、PostgreSQLに全文検索機能を追加する拡張モジュールでオープンソースソフトウェアである。

LudiaはSennaを利用することにより、全文検索インデックスを作成する。この全文検索インデックスは、PostgreSQLの通常のインデックスと同様にSQLクエリの際に利用可能であり、高速で高精度（Sennaと同様）な全文検索が可能となる。株式会社NTTデータにより開発され、2006年10月11日にLGPLライセンスのオープンソースソフトウェアとしてバージョン0.8.0が公開された。

Linux・FreeBSDなどのUNIX系OS、Windowsで動作する。PostgreSQL 8.1以降で利用可能。

PostgreSQL 8.3以降に組み込まれた全文検索エンジンをベースとした日本語検索（textsearch_ja）が形態素解析による検索のみをサポートするのに対し、Ludiaは形態素解析以外にSennaによるN-gram検索にも対応するのが特徴である。ただしPostgreSQL 8.4以降では、同じくN-gram検索に対応したtextsearch_sennaが登場している。

2007年12月にバージョン1.5.0をリリースして以降、バグ修正以外の実質的なバージョンアップが停止した状態にあり、PostgreSQL 8.3以降の環境では後述するような運用上の制限を受けることから、最近はtextsearch_jaもしくはtextsearch_sennaを必要に応じて使い分けるケースが増えてきている。

制限 
 リカバリに未対応。クラッシュ後はREINDEXが必要。
 2009年2月現在、PostgreSQL 8.3以降のVACUUMには非対応。そのため8.3以降とLudiaを組み合わせて運用する場合は、autovacuumをoffにした上で、VACUUM後には必ずREINDEXを行う必要がある。
 PostgreSQL 8.3で全文検索エンジンが組み込まれた関係で、PostgreSQL 8.2以前で利用する場合 (@@) と8.3以降の場合 (%%) ではデフォルトの演算子が変更されている。

外部リンク 
株式会社NTTデータ Ludia
Ludia プロジェクト ホームページ
SourceForge.jp: Project Info - Ludia -

PostgreSQL
オープンソースソフトウェア
全文検索