使用特定关键字从tweet获取国家信息

kd3sttzy  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(424)

我使用twittersource作为cloudera的flume。我想获得特定关键字的国家推特。当我想从荷兰得到tweet时,我不知道该拿什么来比较。我有以下结果,导致没有任何处理:

public void onStatus(Status status) {
    if(status.getPlace().getCountry().equalsIgnoreCase("netherlands")) {
        headers.put("timestamp", String.valueOf(status.getCreatedAt().getTime()));
        Event event = EventBuilder.withBody(DataObjectFactory.getRawJSON(status).getBytes(), headers);
        channel.processEvent(event);
    }
}

我之所以不使用filterquery是因为我想用它作为关键字。如果我把这两者结合起来,就会是逻辑上的“与”与“非”与“与”。

FilterQuery query = new FilterQuery().track(keywords);
8iwquhpp

8iwquhpp1#

经过分析,你会发现大多数tweet都没有附加位置。此外,即使附加了位置,城市、州或国家也可能不可用或不正确。我还发现tweet上根本不存在这样的国家名称。因此,你必须将城市名(或州名)Map到国家名,然后检查国家是否与荷兰匹配。使用谷歌Map来实现这一点。
你也可以在这里找到我的答案。

相关问题