0

Googleアラートに非常に似たものを構築しています。それが何かわからない場合は、次のシナリオを考えてみてください。

  1. 何千もの新しいテキスト記事、ブログ投稿が毎日流入しています
  2. 各ユーザーには、購読したいお気に入りの「キーワード」のリストがあります
  3. 100 万人のキーワードを持つ 100 万人のユーザーがいる
  4. すべての記事/ブログ投稿をスキャンして、すべてのキーワードを探します
  5. 特定のキーワードが一致した場合に各ユーザーに通知します。

1 つのキーワードについては、何千もの記事に対して基本的な全文検索を行うのは簡単ですが、何百万ものキーワードで効率的に全文検索を行うにはどうすればよいでしょうか?

私は強力な CS バックグラウンドを持っていないので、すべてのキーワードを 、またはオートマトンにコンパイルするという唯一のアイデアがありましたがregex、これはうまく機能しますか? (Google のre2のように)

私はここで重要なことを伝えていると思います。それらのキーワードを高度なデータ構造にコンパイルするようなものです。多くのキーワードが似ているため (複数形、単純な AND、NOT 論理など)。これに入る前に知っておく必要のある事前の理論はありますか?

すべての提案を歓迎します。事前に感謝します!

4

1 に答える 1

0

次のことが考えられます: (1) 各検索クエリが本当に高速であることを確認します。ミリ秒のパフォーマンスは非常に重要です。(2) 複数のクエリを同じキーワードでグループ化し、グループごとに 1 つのクエリを実行します。

さまざまなクエリがさまざまなキーワードと AND/OR 演算を使用しているため、それらをグループ化する他の方法はありません。

于 2013-09-03T19:04:46.413 に答える