2

次のような20,000のキーワードを検索するTwitterストリーミングを使用しています

https://stream.twitter.com/1/statuses/filter.json?delimited=length&track=api,software,hardwate,etc

ここでは、for ループのような順次検索を使用していますが、20,000 のキーワードを 1 twit 検索するのに非常に時間がかかります。

トラフィックの多い http/web からのデータを検索するために Java で利用できる最良の検索方法はありますか。

4

1 に答える 1

0

データをリアルタイムで処理する必要がない場合は、情報検索(IR) 手法を使用できます。

「一晩中」すべてのデータのインデックスを作成するバックエンド サーバーを用意します1逆インデックスを作成し、アプリをリッスンします。
次に、アプリはバックエンド サーバー(ストリーミング サーバーではなく) にクエリを実行し、標準の IR 手法で、必要なキーワードをクエリとして "要求" します。

Apache Luceneが役に立ちます。Lucene は成熟したオープン ソースの情報検索ライブラリであるため、インデックス作成とクエリの両方に役立ちます。

それが役立つことを願っています


(1) ここで「一晩」とは、次のいずれかを意味します。

  1. アプリが非アクティブな時間がある場合は、それを行うことができます
  2. インデックスのクエリとビルドを同時にサポートするライブラリがいくつかあります。lucene がその 1 つであるかどうかは思い出せません。
  3. 2 つのサーバーを使用できます。各時点で、1 つはインデックスを作成し、もう 1 つはクエリに使用できます。
于 2012-08-22T06:43:12.930 に答える