被通过Twitter4j收到的搜索查询点击数搞糊涂了吗?

被通过Twitter4j收到的搜索查询点击数搞糊涂了吗?,twitter,twitter4j,Twitter,Twitter4j,下面是我用于搜索的代码 Query query = new Query( queryStr ); query.setCount( 100 ); QueryResult result = twitter.search( query ); List<Status> tweets = result.getTweets(); Query Query=新查询(queryStr); query.setCount(100); QueryResult result=twitter.search(查

下面是我用于搜索的代码

Query query = new Query( queryStr );
query.setCount( 100 );
QueryResult result = twitter.search( query );
List<Status> tweets = result.getTweets();
Query Query=新查询(queryStr);
query.setCount(100);
QueryResult result=twitter.search(查询);
List tweets=result.getTweets();

我发布了两个查询:Q1=“twitter文本研究”和Q2=“twitter研究”,我发现上面的代码分别为这两个查询返回了100和65个结果。既然Q1的所有结果都对Q2有效(因为搜索结果是通过关键字匹配识别的),为什么Q2的点击数只有65?这里发生了什么事

我从这两个查询中得到了100多个结果,但与您一样,我在较长的查询中得到的结果较少 在搜索API中记住这一点

在参与之前,重要的是要知道搜索API关注的是相关性而不是完整性。这意味着搜索结果中可能缺少一些推文和用户。如果您想匹配完整性,则应该考虑使用流式API。 对于Twitter,如果你在查询中添加“文本”,你只会得到不太相关的结果。搜索API不是为了完整性

编辑
如果你想得到100个以上的结果,你需要转到下一个“页面”


我从这两个查询中得到了100多个结果,但和您一样,我在较长的查询中得到的结果较少 在搜索API中记住这一点

在参与之前,重要的是要知道搜索API关注的是相关性而不是完整性。这意味着搜索结果中可能缺少一些推文和用户。如果您想匹配完整性,则应该考虑使用流式API。 对于Twitter,如果你在查询中添加“文本”,你只会得到不太相关的结果。搜索API不是为了完整性

编辑
如果你想得到100个以上的结果,你需要转到下一个“页面”


当我再次检查这两个查询时,它给了我100(因为100是我的限制)。但我不知道为什么会发生这种情况(这不可能是因为搜索api更关注相关性而不是完整性,因为我现在得到了100条结果)……我只是更新了我的答案,这样你就可以知道如何获得100多条推文,是的,我相信结果更关注相关性而不是完整性,如果您想要完整性,您应该转到流媒体API,对延迟回复表示歉意。是的,我知道如何使用分页来深入挖掘。但是你知道twitter搜索是如何工作的吗?在为查询匹配tweet时,它如何结合关联性?我猜这只是基于关键字匹配?当我再次检查这两个查询时,它给了我100(因为100是我的限制)。但我不知道为什么会发生这种情况(这不可能是因为搜索api更关注相关性而不是完整性,因为我现在得到了100条结果)……我只是更新了我的答案,这样你就可以知道如何获得100多条推文,是的,我相信结果更关注相关性而不是完整性,如果您想要完整性,您应该转到流媒体API,对延迟回复表示歉意。是的,我知道如何使用分页来深入挖掘。但是你知道twitter搜索是如何工作的吗?在为查询匹配tweet时,它如何结合关联性?我猜这只是基于关键词匹配?
 Query query = new Query( queryStr );
    query.setCount( 100 );
    QueryResult result;
    do {
        result = twitter.search(query);
        List<Status> tweets = result.getTweets();
        for (Status tweet : tweets) {
            System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText());
        }
    } while ((query = result.nextQuery()) != null);
System.out.println(result.getCount());