过滤twitter4j流

时间:2013-05-21 08:45:36

标签: java filter twitter4j

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

我无法恢复我想要关注的关键字,问题出在哪里?

1 个答案:

答案 0 :(得分:30)

您不需要:

twitterStream.sample();

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

当您调用filter时,您的侦听器将收到已过滤的推文,但是因为您随后调用了sample,您实际上正在使用示例流来替换侦听器正在接收的过滤流,这是一个随机选择鸣叫。

换句话说,请拨打samplefilter,但不能同时调用两者。