2013-05-21 18 views
15

Aşağıdaki kod ile benim twitter4j akışı filtrelemek çalışıyorum:Filtre twitter4j akışı

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(); 

Ama sonuç, örneğin geçerli:

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 

Ve anahtar kelimeleri kurtarmak yok Takip etmek istiyorum, sorun nerede?

cevap

29

Sen gerekmez: Bunu kaldırırsanız

twitterStream.sample(); 

, lütfen filtre sorgusu eşleşen Tweets görmeye başlamanız gerekir.

filter'u çağırdığınızda, dinleyiciniz filtrelenmiş Tweet'leri alır, ancak daha sonra sample'u çağırmanız nedeniyle, dinleyicinizin örnek buharı ile rasgele seçim olan tweet'leri almasını sağladığınız için etkin bir şekilde değiştirirsiniz.

Yani başka bir deyişle sample veya filter, ancak ikisini birden diyoruz.

+0

Harika! Benim sorunumdu. Ayrıca başka küçük bir sorum var. Çok fazla kullanılmayan bir anahtar kelimeyi izlemeyi seçersem. Tüm tweet'leri alacağımı emin miyim? – Apaachee

+1

@Apaachee Bunu tamamen kesinlik ile söyleyemem ama beklerim. Dokümanları gözden geçirdim ve önemli bir şey fark etmedim - [sakıncalı içerik] hariç (http://dev.twitter.com/blog/new-withheld-content-fields-api-responses). – Jonathan

+0

Tüm Jonathan için teşekkürler. – Apaachee