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

我正试图在twitter4j中使用搜索方法搜索推文。 我的代码如下,

public List searchTweets(Query searchQuery) { QueryResult queryResult = twitter.search(searchQuery); return queryResult != null ? queryResult.getTweets() : new ArrayList(0); } 

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

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

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

查看Twitter搜索(primefaces)API – 排除转推 。 搜索基础不同,但概念是相同的,即追加+排除:转发到字符串查询的末尾。 尝试一下,让我知道它是否有效!

我一直在寻找如何排除查询搜索的回复,所以我找到了这个主题。 要排除转推,这对我来说效果很好:

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

资源

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

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

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

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

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

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