Kann nicht verstehen, warum aggregateQuery immer ein leeres Ergebnis zurückgibt. Versucht, in aql, das gleiche Problem zu testen: 0 Zeilen im Satz.Aerospike: lua udf gibt immer ein leeres Ergebnis zurück, selbst wenn udf ohne Filter zurückfließt usw.
Indizes sind alle da.
aql> show indexes
+---------------+-------------+-----------+------------+-------+------------------------------+-------------+------------+-----------+
| ns | bin | indextype | set | state | indexname | path | sync_state | type |
+---------------+-------------+-----------+------------+-------+------------------------------+-------------+------------+-----------+
| "test" | "name" | "NONE" | "profiles" | "RW" | "inx_test_name" | "name" | "synced" | "STRING" |
| "test" | "age" | "NONE" | "profiles" | "RW" | "inx_test_age" | "age" | "synced" | "NUMERIC" |
aql> select * from test.profiles
+---------+-----+
| name | age |
+---------+-----+
| "Sally" | 19 |
| 20 | |
| 22 | |
| 28 | |
| "Ann" | 22 |
| "Bob" | 22 |
| "Tammy" | 22 |
| "Ricky" | 20 |
| 22 | |
| 19 | |
+---------+-----+
10 rows in set (0.026 secs)
aql> AGGREGATE mystream.avg_age() ON test.profiles WHERE age BETWEEN 20 and 29
0 rows in set (0.004 secs)
Können Sie die lua-Datei und das Abfrageergebnis über aql für das gleiche mit ohne UDF Aufruf teilen. – sunil
Haben Sie einen Index auf dem _age_ bin? Was passiert, wenn Sie nur SELECT von Test.profiles WHERE zwischen 20 und 29 Jahre alt? Außerdem müssen Sie Ihr Lua-Modul zeigen, um dies herauszufinden. –