Java 过滤twitter4j流

Java 过滤twitter4j流,java,filter,twitter4j,Java,Filter,Twitter4j,我试图用以下代码过滤我的twitter4j流: TwitterStream twitterStream = getTwitterStreamInstance(); // Listener twitterStream.addListener(listener); // Filter FilterQuery filtre = new FilterQuery(); String[] keywordsArray = { "iphone", "samsu

我试图用以下代码过滤我的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();
如果删除它,您应该会看到与筛选查询匹配的tweet

当您调用
filter
时,您的侦听器将收到过滤后的tweet,但是,因为您随后调用
sample
,您实际上是在用sample steam替换侦听器收到的过滤流,这是一个随机选择的tweet


换句话说,要么打电话,要么打电话,但不能同时打电话。

太好了!这是我的问题。我还有一个小问题。如果我选择跟踪一个不常用的关键字。“我肯定会收获所有关于我的推特吗?”阿帕切我不能完全肯定地说,但我希望如此。我浏览了一下文档,没有注意到任何有意义的东西——除了。@apachee没问题——我很高兴能帮上忙。:-)我不确定你是否知道,但如果你觉得它能回答你的问题,你可以。@apachee你可能会错过那些没有索引的tweet。Twitter不保证向您提供所有这些信息。@VisHalv 2050是的,但如果这些信息的频率足够低,您就得到了它们。所以,有了一个大的tweets过滤器,你可以拥有所有的tweets。