Tasuku SUENAGA
a****@razil*****
2006年 7月 26日 (水) 16:34:00 JST
未来検索ブラジルの末永です。 revision 202にて、MySQLバインディングを以下のように強化しました。 1. MySQL各バージョンにGREEパッチを反映 GREEの小泉さんが作成したパッチを、 MySQL 4.0.27, 4.1.20, 5.0.22, 5.1.11-beta の各バージョンに対応させました。 なお、構築・使用方法は、 http://labs.gree.jp/opensource/mysql_senna.html に記述されている通りですが、以下の点が異なります。 1.1. デフォルトの動作 インデックス作成時にUSINGを指定しない場合は、 正規化つきでsenna(mecab)のインデックスを作成します。 (例1) 正規化機能つきで、単語(mecab)インデックスを作成する場合 CREATE INDEX test ( id INTEGER AUTO_INCREMENT, PRIMARY KEY (id), text TEXT NOT NULL, FULLTEXT INDEX (text) ); (例2) MySQLの素のfulltext indexを作成する場合 CREATE INDEX test ( id INTEGER AUTO_INCREMENT, PRIMARY KEY (id), text TEXT NOT NULL, FULLTEXT INDEX USING NO SENNA (text) ); (例3) 正規化なしでNGRAMインデックスを作成する場合 CREATE INDEX test ( id INTEGER AUTO_INCREMENT, PRIMARY KEY (id), text TEXT NOT NULL, FULLTEXT INDEX USING SENNA, NO NORMALIZE, NGRAM (text) ); 1.2. DELIMITED指定 NGRAMインデックス、単語インデックス以外に、空白で区切られた文字列単位で インデックスを作成することができるようになりました。 (例4) DELIMITEDインデックスを作成する場合 CREATE INDEX test ( id INTEGER AUTO_INCREMENT, PRIMARY KEY (id), text TEXT NOT NULL, FULLTEXT INDEX USING DELIMITED (text) ); 1.3. INITIAL_N_SEGMENTS指定 INITIAL_N_SEGMENTS(インデックスバッファ領域の初期値)をインデックス作成時に 指定できるようになりました。 (例5) INITIAL_N_SEGMENTS=2048でインデックスを作成する場合 CREATE INDEX test ( id INTEGER AUTO_INCREMENT, PRIMARY KEY (id), text TEXT NOT NULL, FULLTEXT INDEX USING SENNA, 2048 (text) ); なお、前回のメール[Senna-dev 246]では、 --- 今回からは、以下の手順を行ったあとに、 configure, makeを行ってください。 % libtoolize -c -f % aclocal % autoheader % automake -c -a -i % autoconf --- と記載いたしましたが、 configureに--with-sennaオプションを 追加しなければならない点を追記します。 2. DISTINCT問題の解消 [Senna-dev 237]で立松さんに御指摘を受けていた問題を修正しました。 -- 末永 匡 <a****@razil*****> (有)未来検索ブラジル http://razil.jp/ ●検索のことならSennaにお任せください→ http://qwik.jp/senna/ ●ネットでの少額決済ならモリタポで→ http://moritapo.jp/