0

我正在开发 geomesa 客户端来执行基本的读写和删除操作。我还创建了一个函数,它将返回指定查询的匹配特征计数,但是它总是返回零,我还尝试了 DataStore stats 来获取匹配的特征计数,它给出了正确的结果,但操作非常慢。下面是我的客户端代码:

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 尽管特征集合中存在特征。还是存在其他首选技术来获取匹配的特征计数?欢迎任何建议或澄清。

4

1 回答 1

1

根据您发送给geomesa dev list的电子邮件中的附加信息,我相信这是由没有日期属性的简单特征类型中的错误引起的。我已经在此处打开了一张票,并在此处为该问题打开了PR 。它应该在下一个版本(1.3.2)中修复,或者您可以在本地构建分支。与此同时,“精确”计数应该仍然有效,尽管它们会慢一些。启用精确计数的说明在此处此处

于 2017-04-25T14:26:11.250 回答