Счетчик функций Geomesa всегда возвращает ноль

Я разрабатываю клиент Geomesa для выполнения основных операций чтения, записи и удаления. Я также создал функцию, которая будет возвращать количество совпадающих объектов для указанного запроса, однако он всегда возвращает ноль, я также пробовал статистику DataStore для получения количества совпадающих объектов, он дает правильный результат, но операция очень медленная. Ниже мой код клиента:

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, хотя функции существуют в коллекциях функций. или существуют другие предпочтительные методы для получения соответствующего количества объектов? Любые предложения или разъяснения приветствуются.

1 ответ

Решение

Основываясь на дополнительной информации из вашего электронного письма в список разработчиков geomesa, я считаю, что это вызвано ошибкой в ​​простых типах объектов, которые не имеют атрибута даты. Я открыл билет здесь и пиар здесь для выпуска. Это должно быть исправлено в следующем выпуске (1.3.2), или вы можете построить ветку локально. В то же время, "точные" подсчеты все еще должны работать, хотя они будут медленнее. Инструкции по включению точного подсчета находятся здесь и здесь.

Другие вопросы по тегам