以下が認識.
FULLTEXT:英語ベースなので半角スペースでパースされたwordによるインデックス?
問題は日本語は単語単位で半角スペースは入らないこと.
LIKE検索:WHERE句で使うマッチング.
問題は大変遅いこと.
あってる?
とりあえず使ってみる.
table.txt(文字コードはeuc-jpでテスト)
CREATE TABLE t (c VARCHAR(255), FULLTEXT (c) WITH PARSER bi_gram);
INSERT INTO t VALUES('昨日はよい天気だった.');
INSERT INTO t VALUES('今日はよい天気です.');
INSERT INTO t VALUES('明日は良い天気でしょう.');
query.txt
SELECT c FROM t WHERE MATCH(c) AGAINST('天気で' IN BOOLEAN MODE);
データベース:test はmysql_install_db時に作られていた.
>mysql5 -u root -p test < table.txt
Enter password: [password]
>mysql5 -u root -p test < query.txt
Enter password: [password]
c
今日はよい天気です.
明日は良い天気でしょう.
参考:
MySQL用N-Gram全文検索プラグイン
http://mysqlbigram.googlepages.com/mysql用n-gram全文検索プラグイン
ありがとうござます.
0 件のコメント:
コメントを投稿