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*****>