[Senna-dev 247] MySQLバインディングを強化しました(GREEパッチ, bug fix)

Back to archive index

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/




Senna-dev メーリングリストの案内
Back to archive index