というわけで、DB内の全エントリ*1に対して計算するというおバカな事はやめて、ちょいと工夫。
いわゆる、転置ファイルってのを使うのと同じことをやってみた。
具体的には計算するユーザの趣向に入っているキーワードそれぞれについて、それを持っているエントリをDBから引いてきて、最終的にマージして、その集合に対して類似度計算をするという感じ。
あー、でも現状のDBアクセスキャッシュの機能が効かないのよね*2。
まぁ、とりあえずちょっとは早くなったかな。
http://ryogrid.myhome.cx:1234/?id=ryo_youtube&type=html&category=youtube