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