2009年12月8日火曜日

MySQL InnoDBだけで全文検索 - SH2の日記

またまた興味深い記事をみつけました。

MySQL InnoDBだけで全文検索 - SH2の日記より


実験エントリです。予習してみる「転置インデックス」というキーワードで検索して、しばらく勉強してみます。転置インデックス - Wikipediamixi Engineers’ Blog » 転置インデックスを実装しようASCII.jp:悟空、秘剣「転置インデックス」を手に入れる |Googleはなぜ的確に探せるのか?[を] 転置インデックスによる検索システムを作ってみよう!転置インデックスで学ぶ検索...
そのほかPHP・Web系プログラム情報のポータルで探せますよ。


他人のの評価は↓
[ Twitterからテストデータを集める時間>>執筆時間 ]
[ InnoDBで全文検索 ]
[ 興味深い、Fulltextインデックスは構築処理が物凄い重いので、ありかもなあ ]
[ 全文検索 ]
[ おもろそう ]
[ dev:MySQLInnoDBだけで全文検索-SH2の日記: ]
[ Triggerで転置インデックステーブルを作成するのかー ]
[ 意外と簡単な割に早いですね ]
[ MySQLInnoDBだけで全文検索-SH2の日記(50users) ]
[ 「MySQLInnoDBだけで全文検索-SH2の日記」(71users@hatena) ]
[ MyISAM使わなくても全文検索できるとは。 ]
[ おもしろいですね。自分も以前こんなことをやろうとしたことがあります。
最初の2文字だけじゃなく ]
[ 検索語においてはすべて転置インデックスを使った方が普通にLIKE検索するよりも速い ]
[ 転置インデックステーブルを自前作成。結果、ヒット率が高くなってしまうものでもLIKE検索でフルスキャンが走るより速い。全体でも10倍くらいは速い。 ]
[ コンピュータ・IT ]
[ バイグラムで転置インデックス作成する。LIKE検索に先立って、検索語の先頭2文字を持っているidで絞り込むことで高速化を図っているらしい。 ]
[ トリガってのがあるのね ]
[ InnoDBを使うメリットは、つまり高速になるってことか。しかし、メモリ負荷はどうなのかな。 ]
[ 転置インデックス ]
[ トリガでSUBSTRING(NEW.text,text_index,2なデータを別テーブルに突っ込んでおき、それを使って先にLIKE検索するカラム集合を絞っておく戦略 ]
[ 自分のtweetをdbに突っ込みまくってるほどのナルシーなので興味津々。perlで試してみよう。 ]
[ へー、すごい面白いなぁ ]
[ InnoDBでトリガを利用してN-gram(bigram) ]
[ goodjob! ]
[ 非常にためになる ]
[ wktk ]
[ これはいい試み。 ]
[ 転置インデックステーブルを自前作成。トリガーを使ってシンプルに2文字ずつ抽出。結果、ヒット率が高くなってしまうものでもLIKE検索でフルスキャンが走るより速い。全体でも10倍くらいは速い。測定結果グラフあり。 ]

…いかがでしょう。。

また地味に注目記事をご提供しましょう。

たまにはこちらなんかもドゾ。