キーワードのデータベースは常に増え続けています。受信テキスト入力 (記事、フィードなど) を解析し、テキストに含まれるデータベースのキーワードを見つける必要があります。キーワードのデータベースは、テキストよりもはるかに大きいです。
データベースは絶えず成長しているため (ユーザーは監視対象のキーワードをどんどん追加しています)、入力されたテキストを単語に分割し、それらをデータベースと比較するのが最善の方法であると考えています。私の主なジレンマは、この比較スキームを実装することです (このプロジェクトでは PHP と MySQL を使用します)。
最も単純な実装は、キーワード テーブルに対して単純な SELECT クエリを作成し、見つかったすべてのキーワードをリストする巨大な IN 句を作成することです。
SELECT user_id,keyword FROM keywords WHERE keyword IN ('keyword1','keyword2',...,'keywordN');
もう 1 つの方法は、メモリ内にハッシュ テーブルを作成し (memcache などを使用)、同じ方法でそれをチェックすることです。
この種の検索の経験があり、これをより適切に実装する方法について提案がある人はいますか? 私はまだこれらのアプローチを試していません。現時点ではアイデアを集めているところです。