昨日見た夢を教えて下さい

phpでキーワードのマッチング処理を行おうと思ってます。
データベースよりおよそ20000件のデータを取得して
ある文言に対して20000件のデータと照合しヒットしたカウント数まで
取得できればよいと考えてます。

mb_substr_count関数を使ってみたのですが、処理に時間がかかってしまいました。
もう少し早い処理が出来る方法はphpだけでは可能でしょうか?

A 回答 (3件)

言い忘れた。

もう一つ。。

キーワードのマッチングって、すべてのキーワードを均等に使うわけじゃないんです。
つまり、偏りがあるので、キャッシングモデルが有効に働くのです。

上位100件のキーワードに対しては、キャッシュ可能な作りにするように、DB上のテーブルを編成するのも考えたほうがいいと思います。
    • good
    • 0
この回答へのお礼

参考になる意見ありがとうございます。
参考の上、もう少し検討してみます。

お礼日時:2006/12/01 17:40

preg_grepで絞り込んでから


mb_substr_countとか

preg_grepで全角文字がちゃんと抜き出せるという保障は
無いですが、少なくとも元データ数よりかは
絞り込めるはずです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
カウントはあきらめようかと思ってます。
※そもそもカウントは必要ないかなと。

お礼日時:2006/12/01 17:41

取得して比較ではなく、比較して取得しては?SQL内で。


DBに全文検索があるとかないとかにもよりますが。。
    • good
    • 0
この回答へのお礼

ありがとうございます~

お礼日時:2011/07/28 13:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報