[Senna-dev 643] Re: Tritonn 1.0.3リリース

Zurück zum Archiv-Index

Tasuku SUENAGA a****@razil*****
2007年 7月 26日 (木) 15:15:38 JST


末永です。

RPM!!! いいですね!!!

さて、
今回のTritonn 1.0.3から
USING句に"SECTIONALIZE"というパラメータが指定できるようになります。
(ChangeLog.tritonnではSETTIONALIZEとtypoされていますが…)
これを使うと、
1つの全文検索インデックスで複数カラムの検索が可能となります。

1つのテーブルに複数の全文検索インデックスを付与している方は、
SECTIONALIZEを指定することによってメモリ使用量が削減されるでしょう。

ぜひお試しください。

例:
●カラムc1, c2, c3にインデックスを付与
ALTER TABLE t1 ADD FULLTEXT INDEX ft
  USING NGRAM, SECTIONALIZE (c1, c2, c3);

●c1, c2, c3のいずれかにkeywordが存在するレコードを検索
SELECT * FROM t1 WHERE
  MATCH(c1,c2,c3) AGAINST("keyword" IN BOOLEAN MODE);

●c1にkeywordが存在するレコードを検索、
 何番目のフィールドに対する検索かを「*W」の後に指定
SELECT * FROM t1 WHERE
  MATCH(c1,c2,c3) AGAINST("*W1 keyword" IN BOOLEAN MODE);

●c3にkeywordが存在するレコードを検索、
 何番目のフィールドに対する検索かを「*W」の後に指定
SELECT * FROM t1 WHERE
  MATCH(c1,c2,c3) AGAINST("*W3 keyword" IN BOOLEAN MODE);

●c2またはc3にkeywordが存在するレコードを検索、
 何番目のフィールドに対する検索かを「*W」の後にカンマ区切りで指定
SELECT * FROM t1 WHERE
  MATCH(c1,c2,c3) AGAINST("*W2,3 keyword" IN BOOLEAN MODE);

●c2またはc3にkeywordが存在するレコードを検索、
 ただし、c2に存在した場合にはスコア3倍、
 c3に存在した場合にはスコア2倍とする
 何番目のフィールドに対する検索かを指定する序数の後に、
 「:」で区切って重みの倍率を指定。負の重みも指定可能。
SELECT * FROM t1 WHERE
  MATCH(c1,c2,c3) AGAINST("*W2:3,3:2 keyword" IN BOOLEAN MODE);

Kazuma Shiraiwa さんは書きました:
> はじめまして。白岩と申します。
> 
> 横レスで申し訳ございません。
> Fedora7用RPMを作ってみました。
> http://cyberlib.enterbrainz.com/1185375440.html
---
Tasuku SUENAGA <a****@razil*****>




Senna-dev メーリングリストの案内
Zurück zum Archiv-Index