使用R访问Twitter搜索API的结果似乎并不遵循布尔逻辑。搜索red AND ball
可获得13127次点击。
tw1 = rtweet::search_tweets('red ball', n = 1e4, retryonratelimit = TRUE)
red AND cat
获得9,799次点击。 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)
总的来说,令我惊讶的是Search API的文献记录不多,出现故障的情况以及使用它时被问到的问题很少。
答案 0 :(得分:0)
好的,我是个白痴,没有在代码中大写OR运算符。使用大写的OR来运行上面的tw2,tw3或tw4,可以按预期得到(red AND cat) OR (red AND ball)
的并集。
我可以传递的一条有用信息是,注释中链接的Twitter Developer网站上的ORing逻辑语法似乎不适用于免费的Twitter API。那是,
"a b OR c"
被评估为
"a (b OR c)"
不像
"(a b) OR c"
。