Googleアラートに非常に似たものを構築しています。それが何かわからない場合は、次のシナリオを考えてみてください。
- 何千もの新しいテキスト記事、ブログ投稿が毎日流入しています
- 各ユーザーには、購読したいお気に入りの「キーワード」のリストがあります
- 100 万人のキーワードを持つ 100 万人のユーザーがいる
- すべての記事/ブログ投稿をスキャンして、すべてのキーワードを探します
- 特定のキーワードが一致した場合に各ユーザーに通知します。
1 つのキーワードについては、何千もの記事に対して基本的な全文検索を行うのは簡単ですが、何百万ものキーワードで効率的に全文検索を行うにはどうすればよいでしょうか?
私は強力な CS バックグラウンドを持っていないので、すべてのキーワードを 、またはオートマトンにコンパイルするという唯一のアイデアがありましたがregex
、これはうまく機能しますか? (Google のre2のように)
私はここで重要なことを伝えていると思います。それらのキーワードを高度なデータ構造にコンパイルするようなものです。多くのキーワードが似ているため (複数形、単純な AND、NOT 論理など)。これに入る前に知っておく必要のある事前の理論はありますか?
すべての提案を歓迎します。事前に感謝します!