@Override public <T> void deleteIndex(Class<T> domainType, String indexName) { try { String setName = getSetName(domainType); IndexTask task = client.dropIndex(null, this.namespace, setName, indexName); if (task != null) { task.waitTillComplete(); } } catch (AerospikeException e) { DataAccessException translatedException = exceptionTranslator.translateExceptionIfPossible(e); throw translatedException == null ? e : translatedException; } }
private void runListExample(AerospikeClient client, Parameters params) throws Exception { String indexName = "geo_list"; String keyPrefix = "list"; String binName = "geo_list_bin"; String binName2 = "geo_uniq_bin"; int size = 1000; // create collection index on list createIndex(client, params, IndexCollectionType.LIST, indexName, binName); writeListRecords(client, params, keyPrefix, binName, binName2, size); runQuery(client, params, binName, binName2, IndexCollectionType.LIST); client.dropIndex(params.policy, params.namespace, params.set, indexName); deleteRecords(client,params, keyPrefix, size); }
private void runMapExample(AerospikeClient client, Parameters params) throws Exception { String indexName = "geo_map"; String keyPrefix = "map"; String mapValuePrefix = "mv"; String binName = "geo_map_bin"; String binName2 = "geo_uniq_bin"; int size = 1000; // create collection index on mapValue createIndex(client, params, IndexCollectionType.MAPVALUES, indexName, binName); writeMapRecords(client, params, keyPrefix, binName, binName2, mapValuePrefix, size); runQuery(client, params, binName, binName2, IndexCollectionType.MAPVALUES); client.dropIndex(params.policy, params.namespace, params.set, indexName); deleteRecords(client,params, keyPrefix, size); }
private void runMapKeyExample(AerospikeClient client, Parameters params) throws Exception { String indexName = "geo_mapkey"; String keyPrefix = "mapkey"; String mapValuePrefix = "mk"; String binName = "geo_mkey_bin"; String binName2 = "geo_uniq_bin"; int size = 1000; // create collection index on mapKey createIndex(client, params, IndexCollectionType.MAPKEYS, indexName, binName); writeMapKeyRecords(client, params, keyPrefix, binName, binName2, mapValuePrefix, size); runQuery(client, params, binName, binName2, IndexCollectionType.MAPKEYS); client.dropIndex(params.policy, params.namespace, params.set, indexName); deleteRecords(client,params, keyPrefix, size); }
/** * Store user key on server using WritePolicy.sendKey option. */ @Override public void runExample(AerospikeClient client, Parameters params) throws Exception { if (! params.hasUdf) { console.info("Store user key functions are not supported by the connected Aerospike server."); return; } String indexName = "skindex"; String keyPrefix = "skkey"; String binName = params.getBinName("skbin"); int size = 10; createIndex(client, params, indexName, binName); writeRecords(client, params, keyPrefix, binName, size); runQuery(client, params, indexName, binName); client.dropIndex(params.policy, params.namespace, params.set, indexName); }
/** * Create secondary index on an integer bin and query on it. */ @Override public void runExample(AerospikeClient client, Parameters params) throws Exception { if (! params.hasUdf) { console.info("Query functions are not supported by the connected Aerospike server."); return; } String indexName = "queryindexint"; String keyPrefix = "querykeyint"; String binName = params.getBinName("querybinint"); int size = 50; createIndex(client, params, indexName, binName); writeRecords(client, params, keyPrefix, binName, size); runQuery(client, params, indexName, binName); client.dropIndex(params.policy, params.namespace, params.set, indexName); }
/** * Create secondary index on a string bin and query on it. */ @Override public void runExample(AerospikeClient client, Parameters params) throws Exception { if (! params.hasUdf) { console.info("Query functions are not supported by the connected Aerospike server."); return; } String indexName = "queryindex"; String keyPrefix = "querykey"; String valuePrefix = "queryvalue"; String binName = params.getBinName("querybin"); int size = 5; createIndex(client, params, indexName, binName); writeRecords(client, params, keyPrefix, binName, valuePrefix, size); runQuery(client, params, indexName, binName, valuePrefix); client.dropIndex(params.policy, params.namespace, params.set, indexName); }
/** * Asynchronous query example. */ @Override public void runExample(AerospikeClient client, EventLoop eventLoop) { if (! params.hasUdf) { console.info("Query functions are not supported by the connected Aerospike server."); return; } String indexName = "asqindex"; String keyPrefix = "asqkey"; String binName = params.getBinName("asqbin"); int size = 50; createIndex(client, indexName, binName); runQueryExample(client, eventLoop, keyPrefix, binName, size); // Wait until query finishes before dropping index. waitTillComplete(); client.dropIndex(policy, params.namespace, params.set, indexName); }
/** * Query records using a map index. */ @Override public void runExample(AerospikeClient client, Parameters params) throws Exception { if (! params.hasUdf) { console.info("Query functions are not supported by the connected Aerospike server."); return; } String indexName = "mapkey_index"; String keyPrefix = "qkey"; String mapKeyPrefix = "mkey"; String mapValuePrefix = "qvalue"; String binName = params.getBinName("map_bin"); int size = 20; // create collection index on mapKey createIndex(client, params, indexName, binName); // insert records with maps, where the map has 3 mapKeys <mapKeyPrefix>1, <mapKeyPrefix>2, <mapKeyPrefix>3 writeRecords(client, params, keyPrefix, binName, mapKeyPrefix, mapValuePrefix, size); // query on mapKey <mapKeyPrefix>2 runQuery(client, params, indexName, binName, mapKeyPrefix+2); client.dropIndex(params.policy, params.namespace, params.set, indexName); }
/** * Query records and calculate sum using a user-defined aggregation function. */ @Override public void runExample(AerospikeClient client, Parameters params) throws Exception { if (! params.hasUdf) { console.info("Query functions are not supported by the connected Aerospike server."); return; } String indexName = "aggindex"; String keyPrefix = "aggkey"; String binName = params.getBinName("aggbin"); int size = 10; register(client, params); createIndex(client, params, indexName, binName); writeRecords(client, params, keyPrefix, binName, size); runQuery(client, params, indexName, binName); client.dropIndex(params.policy, params.namespace, params.set, indexName); }
/** * Create secondary index and query on it and apply aggregation user defined function. */ @Override public void runExample(AerospikeClient client, Parameters params) throws Exception { if (! params.hasUdf) { console.info("Query functions are not supported by the connected Aerospike server."); return; } String indexName = "avgindex"; String keyPrefix = "avgkey"; String binName = params.getBinName("l2"); int size = 10; register(client, params); createIndex(client, params, indexName, binName); writeRecords(client, params, keyPrefix, size); runQuery(client, params, indexName, binName); client.dropIndex(params.policy, params.namespace, params.set, indexName); }
/** * Perform region/radius queries using a Geo index. */ @Override public void runExample(AerospikeClient client, Parameters params) throws Exception { if (! params.hasGeo) { console.info("Geospatial functions are not supported by the connected Aerospike server."); return; } String indexName = "queryindexloc"; String keyPrefix = "querykeyloc"; String binName = params.getBinName("querybinloc"); int size = 20; createIndex(client, params, indexName, binName); writeRecords(client, params, keyPrefix, binName, size); runQuery(client, params, indexName, binName); runRadiusQuery(client, params, indexName, binName); client.dropIndex(params.policy, params.namespace, params.set, indexName); }
/** * Query on a secondary index with a filter and then apply an additional filter in the * user defined function. */ @Override public void runExample(AerospikeClient client, Parameters params) throws Exception { if (! params.hasUdf) { console.info("Query functions are not supported by the connected Aerospike server."); return; } String indexName = "profileindex"; String keyPrefix = "profilekey"; String binName = params.getBinName("name"); register(client, params); createIndex(client, params, indexName, binName); writeRecords(client, params, keyPrefix, binName); runQuery(client, params, indexName, binName); client.dropIndex(params.policy, params.namespace, params.set, indexName); }
/** * Perform secondary index query with a predicate filter. */ @Override public void runExample(AerospikeClient client, Parameters params) throws Exception { if (! params.hasUdf) { console.info("Query functions are not supported by the connected Aerospike server."); return; } String indexName = "predidx"; String binName = params.getBinName("idxbin"); int size = 50; createIndex(client, params, indexName, binName); writeRecords(client, params, binName, size); runQuery1(client, params, binName); runQuery2(client, params, binName); runQuery3(client, params, binName); client.dropIndex(params.policy, params.namespace, params.set, indexName); }
/** * Perform region query using a Geo index with an aggregation filter. */ @Override public void runExample(AerospikeClient client, Parameters params) throws Exception { if (! params.hasGeo) { console.info("Geospatial functions are not supported by the connected Aerospike server."); return; } String indexName = "filterindexloc"; String keyPrefix = "filterkeyloc"; String binName1 = params.getBinName("filterloc"); String binName2 = params.getBinName("filteramenity"); int size = 20; register(client, params); createIndex(client, params, indexName, binName1); writeRecords(client, params, keyPrefix, binName1, binName2, size); runQuery(client, params, indexName, binName1, binName2); client.dropIndex(params.policy, params.namespace, params.set, indexName); }
/** * Apply user defined function on records that match the query filter. */ @Override public void runExample(AerospikeClient client, Parameters params) throws Exception { if (! params.hasUdf) { console.info("Query functions are not supported by the connected Aerospike server."); return; } String indexName = "qeindex1"; String keyPrefix = "qekey"; String binName1 = params.getBinName("qebin1"); String binName2 = params.getBinName("qebin2"); int size = 10; register(client, params); createIndex(client, params, indexName, binName1); writeRecords(client, params, keyPrefix, binName1, binName2, size); runQueryExecute(client, params, indexName, binName1, binName2); validateRecords(client, params, indexName, binName1, binName2, size); client.dropIndex(params.policy, params.namespace, params.set, indexName); }