オープンソース活動

PostgreSQL 用全文検索関連ソフトウェア

PostgreSQL 用全文検索関連ソフトウェアは、独立行政法人情報処理推進機構 (IPA) の 2006 年度「自治体におけるオープンソースソフトウェア活用に向けての導入実証」プロジェクトの中で開発されたものです。 以下のものが含まれます (PostgreSQL 8.2 で動作検証)。

すべて BSD ライセンスで公開されるオープンソースソフトウェアです。 自由に利用できます。

ユーザ定義関数 normalize

normalize は、入力テキストを一定のルールにしたがって「正規化」します。 以下の機能を持っています。

これによって表記の「ゆれ」を吸収し、たとえば検索の際に表記のゆれによる検索洩れを防ぐことができます。

実行例を示します。

test=# SELECT normalize('01234567890123abcあいうえおABC');
           normalize            
--------------------------------
 01234567890123abcあいうえおabc
(1 row)

test=# SELECT normalize('ガギグゲゴ');
 normalize  
------------
 ガギグゲゴ
(1 row)

ユーザ定義関数 wakachi

wakachi は、mecab を使って形態素解析を行い、入力テキストをスペースで単語に区切る形、いわゆる「わかち書き」に変換する PostgreSQL のユーザ定義 C 関数です。 実行例を示します。

test=# SELECT wakachi('wakachiはPostgreSQLのユーザ定義C関数です');
                     wakachi                      
--------------------------------------------------
 wakachi は PostgreSQL の ユーザ 定義 C 関数 です

その他

このほか、以下のようなものがあります。

functions
Tsearch2、wakachi や normalize を使った全文検索データベースの例
utf8_and_euc_jp_jis
PostgreSQL 8.2 の MS932 ベースの Unicode ⇔ EUC_JP 変換マップ (conversion) の一部を変更したものです。 「〜」(WAVE DASH) や、「−」(MINUS SIGN) の変換を、MS932 ではなく、Shift JIS に合わせたものです。