[pgsql-jp: 38829] 全文検索関連ソフトウェアの公開
Tatsuo Ishii
ishii @ sraoss.co.jp
2007年 9月 29日 (土) 23:09:49 JST
石井@SRA OSSです.
PostgreSQL用の全文検索関連ソフトウェアを公開しました.これは,独立行政
法人情報処理推進機構(IPA)の2006年度「自治体におけるオープンソースソフ
トウェア活用に向けての導入実証」プロジェクトの中で開発されたものです.
以下のものが含まれます(PostgreSQL 8.2で動作検証).
すべてBSDライセンスで公開されるオープンソースソフトウェアです.自由に
利用できます.
1) ユーザ定義関数 normalize
normalizeは,入力テキストを一定のルールにしたがって「正規化」します.
以下の機能を持っています.
- 改行コードを 削除
- JIS X 0208の数字とアルファベット(いわゆる「全角」数字とアルファベッ
ト)をASCIIに変換
- JIS X 0201カナ(いわゆる「半角カタカナ」)をJIS X 0208カナ(いわゆる
「全角」カタカナ)に変換.このとき,濁点つきのカタカナ(JIS X 0201では
濁点つきのカタカナは2文字で表します)は,1文字のJIS X 0208カナになり
ます.
- ASCIIの大文字を小文字に変換
これによって表記の「ゆれ」を吸収し,たとえば検索の際に表記のゆれによる
検索洩れを防ぐことができます.
実行例を示します.
test=# SELECT normalize('01234567890123abcあいうえおABC');
normalize
--------------------------------
01234567890123abcあいうえおabc
(1 row)
test=# SELECT normalize('ガギグゲゴ');
normalize
------------
ガギグゲゴ
(1 row)
2) ユーザ定義関数wakachi
wakachiは,mecab(http://mecab.sourceforge.jp/)を使って形態素解析を行い,
入力テキストをスペースで単語に区切る形,いわゆる「わかち書き」に変換す
るPostgreSQLのユーザ定義C関数です.実行例を示します.
test=# SELECT wakachi('wakachiはPostgreSQLのユーザ定義C関数です');
wakachi
--------------------------------------------------
wakachi は PostgreSQL の ユーザ 定義 C 関数 です
3) このほか,以下のようなものがあります
- functions
Tsearch2,wakachiやnormalizeを使った全文検索データベースの例
- utf8_and_euc_jp_jis
PostgreSQL 8.2のMS932ベースのUnicode<-->EUC_JP変換マップ
(conversion)の一部を変更したものです.「〜」(WAVE DASH)や,「−」
(MINUS SIGN)の変換を,MS932ではなく,Shift JISに合わせたものです.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
pgsql-jp メーリングリストの案内