2015-02-27 1 views
0

Я использую TwitterSource для Flume из Cloudera. Я хочу получать твиты по странам с определенными ключевыми словами. Я не уверен, что сравнивать с тем, когда я хочу получить твиты из Нидерландов. У меня есть следующие, что приводит к ничего обрабатываемый:Получить страну из твита с определенными ключевыми словами

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); 

ответ

1

При анализе вы обнаружите, что в большинстве твитов нет привязанного к нему местоположения. Кроме того, даже если местоположение прилагается, город, штат или страна могут быть недоступны или быть правильными. Также я нашел твиты, где таких названий стран буквально не существует. Итак, вам нужно будет сопоставить названия городов (или названия состояний) с названиями стран, а затем проверить, совпадает ли страна с Нидерландами. Используйте Google Maps для этого.

Также вы можете найти мой ответ here полезный.

 Смежные вопросы

  • Нет связанных вопросов^_^