2

我正在使用 twitter 流媒体搜索 20,000 个关键字,例如

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

现在我在这里使用像 for 循环这样的顺序搜索,但它需要很长时间才能在一个 twit 中搜索 20,000 个关键字。

java中是否有任何最佳搜索方法可用于搜索来自高流量http/web的数据。

4

1 回答 1

0

如果您的数据不必实时处理,您可以使用信息检索(IR) 技术。

拥有一个后端服务器,可以为您“一夜之间”索引所有数据1。它将创建一个倒排索引,并会监听您的应用程序。
然后,您的应用程序将查询后端服务器(而不是流服务器),并在标准 IR 技术中“询问”所需的关键字作为查询。

您可以使用Apache Lucene来帮助您。Lucene 是一个成熟的开源信息检索库,因此它可以帮助您进行索引和查询。

希望有帮助


(1) 这里的“过夜”是指以下之一:

  1. 如果有一段时间应用程序处于非活动状态 - 可以这样做
  2. 有一些库支持同时查询和构建索引。我不记得lucene是否是其中之一。
  3. 您可以使用 2 台服务器,并且在每个时间点 - 一台将构建索引,另一台可用于查询。
于 2012-08-22T06:43:12.930 回答