2017-02-03 6 views
0

Twitter4j로 시작하여 특정 해시 태그가있는 스트림에서 트윗을 가져와야합니다.Twitter4j : 검색과 트랙의 차이점

StatusListener listener = new StatusListener() { 
... 
    public void onStatus(Status status) { 
       statuses.add(status); 
       HashtagEntity[] H = status.getHashtagEntities(); 
       System.out.println(statuses.size()+":Got tweet:\n" + status.getText()+"\n"+status.getUser().getScreenName() 
         + " | "+status.getId()+" | "+H.length+"\n"); 
       if(H.length>0){ 
        for(int i=0;i<H.length-1;i++){ 
         System.out.print(H[i]+""); 
        } 
       } 
       if (statuses.size() > nbremax) { 
        synchronized (lock) { 
         lock.notify(); 
        } 
        System.out.println("unlocked"); 
       } 
      } 
} 
FilterQuery fq = new FilterQuery();  
fq.track("#hashtag"); 
TwitterStream twitterStream = ...; 
twitterStream.addListener(listener); 
twitterStream.filter(fq); 

Twitter twitter = ...; 
Query query = new Query("#hastag"); 
QueryResult result = twitter.search(query); 
for (Status status : result.getTweets()) { 
    HashtagEntity[] H = status.getHashtagEntities(); 
    System.out.println("Got tweet:\n" + status.getText() 
      +"\n"+status.getUser().getScreenName()+ " | "+status.getId()+ 
      " | retweet ? "+status.isRetweet()+" | "+H.length); 
    System.out.println(status.getCreatedAt()+" | "+status.getGeoLocation()+ 
        " | "+status.getPlace()+" | "+status.getSource()); 
    if(H.length>0){ 
     for(int i=0;i<H.length;i++){ 
      System.out.print(H[i].getText()+" ; "); 
      if(i==H.length-1){ 
       System.out.println("\n"); 
      } 
     } 
    } 

그들 사이의 차이점은 무엇입니까 :

나는이 방법을 찾았나요? 특정 해시 태그 검색에 가장 적합한 방법은 무엇입니까?

답변

0

검색 : 당신이 지금 주어진 해시 태그 를 포함 기존의 모든 트윗을 검색합니다.

트랙 : 될 것입니다 주어진 해시 태그를 포함하는 모든 트윗은 지금에서 당신 스트리밍.