-
Notifications
You must be signed in to change notification settings - Fork 102
Closed
Labels
Description
Hello
I am still improving an issue about the count() query.
It seems a class cast exception here : return (long) info.get("num_docs");
> FT.INFO "fr.gms.legacy.api.redis.model.catalog.RDTaxTariffIdx"
returning :
> FT.INFO "fr.gms.legacy.api.redis.model.catalog.RDTaxTariffIdx"
1) "index_name"
2) "fr.gms.legacy.api.redis.model.catalog.RDTaxTariffIdx"
3) "index_options"
4) (empty list or set)
5) "index_definition"
6) 1) "key_type"
2) "JSON"
3) "prefixes"
4) 1) "fr.gms.legacy.api.redis.model.catalog.RDTaxTariff:"
5) "default_score"
6) "1"
....
....
9) "num_docs"
10) "21"
java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Long (java.lang.String and java.lang.Long are in module java.base of loader 'bootstrap')
at com.redis.om.spring.search.stream.SearchStreamImpl.count(SearchStreamImpl.java:499)
SearchStreamImpl.java:499
at fr.gms.legacy.api.redis.service.catalog.RDTaxTariffService.count(RDTaxTariffService.java:94)
@Override
public long count() {
if (!rootNode.toString().isBlank()) {
// Trim any leading/trailing spaces from the query to avoid syntax errors with DIALECT
String queryString = rootNode.toString().trim();
Query query = new Query(queryString);
query.limit(0, 0);
query.dialect(dialect); // Use the configured dialect value
SearchResult searchResult = search.search(query);
resolvedStream = Stream.empty();
return searchResult.getTotalResults();
} else {
var info = search.getInfo();
return (long) info.get("num_docs");
}
}
bsbodden