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 に答える