【问题标题】:Get country from tweet with certain keywords使用某些关键字从推文中获取国家/地区
【发布时间】:2015-02-27 10:18:04
【问题描述】:

我正在使用来自 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);

【问题讨论】:

    标签: java twitter4j cloudera flume


    【解决方案1】:

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

    您也可能会发现我的回答 here 很有帮助。

    【讨论】:

      猜你喜欢
      • 2019-10-27
      • 1970-01-01
      • 2013-07-12
      • 2023-03-29
      • 2018-05-20
      • 2012-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多