如何获取 Twitter 返回的 Twitter4j 关键字?
How to get a Twitter4j keyword that's being returned by twitter?
我正在构建一个使用 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' ... }
我如何在不进行字符串比较的情况下知道使用了哪个关键字?我没有找到具有关键字的对象的任何属性,只有推文数据。
Twitter Streaming API returns 只是标准推文 payloads ,它不会添加任何与您的查询有关的额外元数据。执行您要求的唯一方法是根据您的关键字列表处理消息客户端。
我正在构建一个使用 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' ... }
我如何在不进行字符串比较的情况下知道使用了哪个关键字?我没有找到具有关键字的对象的任何属性,只有推文数据。
Twitter Streaming API returns 只是标准推文 payloads ,它不会添加任何与您的查询有关的额外元数据。执行您要求的唯一方法是根据您的关键字列表处理消息客户端。