如何从我的搜索查询结果选项中排除转发

时间:2011-11-02 04:36:51

标签: java twitter4j

我正在尝试使用twitter4j中的搜索方法搜索推文。我的代码是 跟着,

    public List<Tweet> searchTweets(Query searchQuery) { 
        QueryResult queryResult = twitter.search(searchQuery); 

        return queryResult != null ? queryResult.getTweets() : new 
             ArrayList<Tweet>(0); 
    } 

如何从搜索查询结果中排除转推

5 个答案:

答案 0 :(得分:3)

我一直在寻找如何排除查询搜索的回复,所以我找到了这个主题。 为了排除转推,这对我很有用:

Query query = new Query("from:"+twitterAccount + " +exclude:retweets");

答案 1 :(得分:2)

我宁愿对此发表评论,但我还不能这样,我会将此作为答案发布。您需要通过向其添加参数来编辑查询。 Query.java的源代码可以在twitter4j文件夹的examples文件夹中找到。

public Query(String query) {
    this.query = query;
}

结帐Twitter search (atom) API - exclude retweets。搜索基础不同,但概念是相同的,即追加+排除:转发到字符串查询的末尾。尝试一下,如果有效,请告诉我!

答案 2 :(得分:2)

Query query = new Query(yourQuery + " -filter:retweets");

source

PS。我不知道+exclude:retweets-filter:retweets之间的区别;两者似乎都在做同样的工作。

答案 3 :(得分:0)

我使用了与上面不同的方法。请参阅下面的代码:

List<Status> tweets = result.getTweets();
for (Status tweet : tweets )
{
      if( !tweet.isRetweet() )
      // processing .... 
} 

它对我有用。但是,这些方法之间可能存在效率差异。

答案 4 :(得分:-3)

您可以在配置构建器中使用set setIncludeRTsEnabled选项为false,因此将删除转推。

ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setIncludeRTsEnabled(false);
Twitter twitter = new TwitterFactory(builder.build()).getInstance();