使用R访问Twitter搜索API的结果似乎不遵循布尔逻辑。搜索red AND ball
得到13127次点击。
tw1 = rtweet::search_tweets('red ball', n = 1e4, retryonratelimit = TRUE)
red AND cat
获得9799次点击。red AND cat AND ball
获得19支安打。到目前为止还不错。
现在,(red AND cat) OR (red AND ball)
只命中1次。无论我如何构建它,也不管我是使用twitteR
还是rtweet
,所以我认为问题在于搜索API。
tw2 = rtweet::search_tweets('red (ball or cat)', n = 1e4, retryonratelimit = TRUE)
或
tw3 = rtweet::search_tweets('red ball or cat', n = 1e4, retryonratelimit = TRUE)
或
tw4 = twitteR::searchTwitter('red ball or cat', n = 1e4, retryOnRateLimit = 1e3)
总的来说,让我惊讶的是,搜索API记录得多么糟糕,它有多么小故障,以及关于使用它的问题问得如此之少
好吧,我是个白痴,代码中没有大写OR运算符。用大写的or运行上面的tw2、tw3或tw4会得到预期的(red AND cat) OR (red AND ball)
的并集。
我可以传递的一条有用的信息是,评论中链接的TwitterDeveloper网站的ORing逻辑语法似乎不适用于免费的Twitterneneneba API。也就是说,"a b OR c"
评估为"a (b OR c)"
不是CCD_ 10。