17

我正在尝试使用以下代码过滤我的 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

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

4

1 回答 1

33

你不需要:

twitterStream.sample();

如果您删除它,您应该会开始看到与您的过滤器查询匹配的推文。

当您调用filter您的听众时,您将收到过滤后的推文,但是因为您随后调用sample您正在有效地用样本流替换您的听众正在接收的过滤流,这是一个随机选择的推文。

因此,换句话说,调用其中一个samplefilter,但不能同时调用两者。

于 2013-05-21T11:51:04.573 回答