我正在尝试使用以下代码过滤我的twitter4j流:

    TwitterStream twitterStream = getTwitterStreamInstance();

    // Listener
    twitterStream.addListener(listener);

    // Filter
    FilterQuery filtre = new FilterQuery();
    String[] keywordsArray = { "iphone", "samsung" };
    filtre.track(keywordsArray);
    twitterStream.filter(filtre);

    // Listening
    twitterStream.sample();

但是结果是,例如:
27/59 - "Taking a risk over something only means that you want it more than anything"
28/63 - The more attractive you are, the more awkward I am.
29/64 - the thing about pain is that it demands to be felt

而且我没有恢复想要关注的关键字,这是哪里出了问题?

最佳答案

您不需要:

twitterStream.sample();

如果将其删除,则应该开始看到与过滤器查询匹配的推文。

当您调用filter时,您的侦听器将收到经过过滤的Tweets,但是,因为随后您调用sample,您将用样本流(实际上是随机选择的Tweets)有效地替换了侦听器正在接收的已过滤流。

因此,换句话说,调用 sample filter ,但不能两者都调用。

10-06 13:14