Aerospike_err_index

I’m considering aerospike for one of our projects. So I currently created a 3 node cluster and loaded some data on it.

Sample data ns = imei, set = imei_data

+-------------------+-----------------------+-----------------------+----------------------------+--------------+--------------+ | imsi | fcheck | lcheck | msc | fcheck_epoch | lcheck_epoch | +-------------------+-----------------------+-----------------------+----------------------------+--------------+--------------+ | "413010324064956" | "2017-03-01 14:30:26" | "2017-03-01 14:35:30" | "13d20b080011044917004100" | 1488358826 | 1488359130 | | "413012628090023" | "2016-09-21 10:06:49" | "2017-09-16 13:54:40" | "13dc0b080011044917006100" | 1474432609 | 1505550280 | | "413010130130320" | "2016-12-29 22:05:07" | "2017-10-09 16:17:10" | "13d20b080011044917003100" | 1483029307 | 1507546030 | | "413011330114274" | "2016-09-06 01:48:06" | "2017-10-09 11:53:41" | "13d20b080011044917003100" | 1473106686 | 1507530221 | | "413012629781993" | "2017-08-16 16:03:01" | "2017-09-13 18:10:48" | "13dc0b080011044917004100" | 1502879581 | 1505306448 |

Then I created a secondary index on lcheck_epoch since I want to query based on date.

create index idx_lcheck on imei.imei_data (lcheck_epoch) NUMERIC

+--------+----------------+-----------+-------------+-------+--------------+----------------+-----------+ | ns | bin | indextype | set | state | indexname | path | type | +--------+----------------+-----------+-------------+-------+--------------+----------------+-----------+ | "imei" | "lcheck_epoch" | "NONE" | "imei_data" | "RW" | "idx_lcheck" | "lcheck_epoch" | "NUMERIC" | +--------+----------------+-----------+-------------+-------+--------------+----------------+-----------+

When I execute

select imsi from imei.imei_data where idx_lcheck=1476165806

I’m getting

Error: (204) AEROSPIKE_ERR_INDEX

Please explain.

Sure you’ve already figured it out but I do believe the query should read:

select imsi from imei.imei_data where lcheck_epoch=1476165806

The error means “Aerospike could not find a secondary index on the idx_lcheck bin name”. Use the bin name in the where condition, not the index name.