使用特定关键字从推文获取国家/地区

时间:2015-02-27 10:18:04

标签: java twitter4j cloudera flume

我正在从Cloudera使用TwitterSource for Flume。我想通过某些关键字按国家/地区获取推文。当我想收到荷兰的推文时,我不确定要比较什么。我有以下内容导致没有任何处理:

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的原因是因为我想将此用于关键字。如果我将它结合起来,它将是逻辑OR,而不是AND。

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

1 个答案:

答案 0 :(得分:1)

通过分析,您会发现大部分推文都没有附加位置。此外,即使附加了位置,城市,州或国家也可能不可用或不正确。我也发现这些国家名称根本不存在的推文。 因此,您必须将城市名称(或州名称)映射到国家/地区名称,然后检查该国家/地区是否与荷兰匹配。使用Google地图实现此目标。

您也可以找到我的回答here