我正在构建一个使用Apache Storm和库Twitter4j来处理实时Twitter的系统。但我有一个问题:有办法知道哪个关键字过滤器给了我这条推文吗?
示例:
//Topology builder parameter
String keywords = {"Keyword 1", "Keyword 2"};
//Call of Twitter strem API return
@Override
public void execute(Tuple tuple, BasicOutputCollector collector) {
Status status = (Status) tuple.getValueByField("tweet");
System.out.println(status);
}
//Result of Sysout
StatusJSONImpl{createdAt=Thu Aug 20 16:55:52 BRT 2015, id=645265788760587264, text='RT @user: This is a Keyword 1 tweet' ... }
StatusJSONImpl{createdAt=Thu Aug 20 16:55:56 BRT 2015, id=645265788760587265, text='RT @user: This is a Keyword 2 tweet' ... }
我如何知道没有字符串比较使用了哪个关键字?我没有找到具有关键字的对象的任何属性,只有tweet数据。
答案 0 :(得分:0)
Twitter Streaming API仅返回标准推文payloads,它不会为您的查询添加任何其他元数据。执行所要求的唯一方法是根据关键字列表处理邮件客户端。