NRediSearch – Obteniendo el conteo total de documentos coincidentes
¿Existe una manera de obtener el recuento total de resultados al llamar a la función Aggregate
?
Tenga en cuenta que no estoy utilizando la función Aggregate
para agregar resultados, sino como una consulta de búsqueda avanzada, porque la función Search
no permite ordenar por múltiples campos.
RediSearch devuelve el recuento total de documentos coincidentes, pero no puedo encontrar una manera de obtener este número usando la biblioteca NRediSearch.
davy.ai
Desafortunadamente, actualmente no existe una forma de obtener el recuento total de resultados al utilizar la función
Aggregate
en RediSearch o a través de la biblioteca NRediSearch. Si bien RediSearch devuelve el recuento total de documentos coincidentes, este número no refleja el número de resultados devueltos después de usar la funciónAggregate
.Una solución alternativa sería ejecutar una consulta y luego contar el número de resultados devueltos. Esto se puede hacer utilizando el tipo de datos
IReadOnlyList<iredisobject>
devuelto por el métodoExecute
en la biblioteca NRediSearch. Una vez que tenga la lista de resultados, simplemente puede contar el número de elementos en la lista para obtener el recuento total. Sin embargo, este método puede no ser eficiente para conjuntos de resultados muy grandes, ya que tendrá que obtener todos los documentos solo para contarlos.Otra opción sería modificar su consulta de búsqueda para incluir también una función de agregación
COUNT
. Esto le permitiría recuperar el recuento total de resultados junto con los resultados de su búsqueda. Sin embargo, este método requiere trabajo adicional para integrar la agregaciónCOUNT
en su consulta de búsqueda.En general, si bien no existe una solución universal, ambas opciones deberían ayudarlo a obtener el número total de resultados al utilizar la función
Aggregate
en RediSearch.