0

多数の文字列 (潜在的に 1,000,000 以上) があり、別の文字列 (ドキュメント) を検索して、これらの検索文字列のどれがドキュメントに表示されるかを確認したいと考えています。

すべての検索文字列が 1 つの単語であるとは限らないため、検索文字列のリストでドキュメント内の各単語を検索するだけではありません。

これを行う最も効率的な方法は何ですか?

大量のドキュメント (フィードからのドキュメント) に対してこれを行う予定であり、ドキュメントを受信するよりも速く処理できるように十分な速さで実行する必要があります (理想的にはせいぜい 1 秒か 2 秒)。

検索文字列に表示されないストップ ワード (「the」、「and」など) のリストを作成できる可能性があります。

ソリューションは Java であることが理想ですが、いつでもコードを Java に移植できるので、それは必須ではありません。違いがある場合、検索文字列は現在 MongoDB に保存されています。

4

2 に答える 2

2

高性能パターン マッチング アルゴリズム Java を確認する

于 2013-11-05T16:08:33.367 に答える
2

Radix treesSuffix treesを見てください。

並行ツリープロジェクトには、そのプロジェクトの逆基数ツリーに格納されている多数のキーワードについて、目に見えないドキュメントを効率的にスキャンする方法の例があります。サンプルコードはこちら

于 2013-09-13T12:22:29.423 に答える