我正在开发Geomesa客户端以执行基本的读写和删除操作。我还创建了一个函数,该函数将返回指定查询的匹配功能计数,但是它总是返回零,我还尝试了数据存储统计数据以获取匹配功能计数,它给出了正确的结果,但操作非常慢。以下是我的客户代码:
public int getRideCount(Long rideId) throws Exception {
int count = 0;
if(rideId != null){
count = fs.getCount(new Query(tableName, CQL.toFilter("r="+rideId)));
//count = ((Long) (ds.stats().getCount(sft, CQL.toFilter("r=" + rideId), true).get())).intValue();
}
return count;
}
任何人都可以帮助我找出为什么在功能集中存在功能返回0的原因。还是还有其他首选技术来获取匹配功能计数?欢迎任何建议或澄清。
基于电子邮件中的其他信息到Geomesa Dev列表,我相信这是由没有日期属性的简单功能类型中的错误引起的。我在这里打开了一张票,并在这里开设了PR。它应该在下一个版本(1.3.2(中修复,否则您可以在本地构建分支。同时,"确切"计数仍应起作用,尽管它们会慢。启用准确计数的说明在这里和这里。