Skip to content

Voyager quickstart

This quickstart takes about 5-10 minutes. By the end, you will have connected to a cluster, browsed sample data, built a filter, and copied an expression string you can use in your application code.

1. Start Voyager

Launch Aerospike Voyager from your Applications folder, Start menu, or by running the AppImage. On first launch, accept the license agreement and usage-statistics opt-in to reach the Welcome page.

Voyager welcome page with the Connect cluster button and sidebar showing no clusters connected yet

2. Create a connection

On the Welcome page, click Connect cluster (the same button reads Add connection in the sidebar once you have one or more saved clusters). In the dialog, enter a Display name (optional) and the Cluster address as host:port (for example, localhost:3000).

Click Test to verify connectivity, then click Save to keep the profile or Connect to open a session immediately.

Connect to an Aerospike cluster dialog with Display name Local Aerospike and Cluster address localhost:3000, showing Test, Save, and Connect buttons

3. Load sample data

After connecting, open the sample data dialog from the toolbar and click Load sample data. Voyager creates 9 sample sets with 600 records across three domains:

  • Ad tech: sample_audience, sample_campaign, sample_creative, sample_lineitem
  • E-commerce: sample_orders, sample_products
  • User data: sample_segment, sample_user_profile, sample_users

Loading takes a few seconds. When it completes, the sets appear in the sidebar and in the namespace view as cards showing the record count for each set.

Voyager sidebar expanded to show the 9 sample sets under namespace test, with the Sets in namespace view listing record counts per set

4. Browse data

Click sample_users in the sidebar to open the set. Records render as cards that expand to show their bins. If a bin contains a nested list or map, click the expand arrow to drill into the structure. Each value shows a type badge — for example, string, integer, boolean, map, list, or geojson.

Expanded sample_users record card with the address map drilled in to show city, state, street, and zip, plus type badges for boolean, map, integer, string, geojson, and list

5. Filter records

Click the Filter records button in the toolbar to open the filter panel. The panel has two tabs: Filters (visual builder) and Expression (raw expression editor). Use Clear all to reset.

In the visual builder:

  1. Enter the field age.
  2. Choose the operator > greater than.
  3. Enter the value 30.
  4. Set the Data type to integer (so the comparison is numeric, not string).
  5. Click Apply.

The record browser updates to show only records where age > 30.

Filter panel Filters tab with field age, operator greater than, value 30, data type integer, and the generated expression $.age > 30 shown at the bottom

6. View the expression

Click the Expression tab. You will see the expression string Voyager generated from your visual filter:

$.age > 30

In Aerospike Expression Language, the $ prefix denotes a bin reference. For example, $.age > 30 filters records where the age bin exceeds 30.

Filter panel Expression tab showing the generated $.age > 30 expression, with a link to the syntax docs

7. Use the expression in your SDK

Copy the expression string from the Expression tab. You can paste it directly into your Aerospike SDK code to apply the same filter programmatically. The in-app Add new record dialog also has a Code snippets (Experimental) section with five language tabs: Golang, Java, JavaScript, Python, and C++.

Add new record dialog with the Code snippets (Experimental) section expanded, showing language tabs for Golang, Java, JavaScript, Python, and C++

Java (Aerospike Java SDK):

import com.aerospike.client.sdk.Cluster;
import com.aerospike.client.sdk.ClusterDefinition;
import com.aerospike.client.sdk.DataSet;
import com.aerospike.client.sdk.RecordStream;
import com.aerospike.client.sdk.Session;
import com.aerospike.client.sdk.policy.Behavior;
try (Cluster cluster = new ClusterDefinition("localhost", 3000).connect()) {
Session session = cluster.createSession(Behavior.DEFAULT);
DataSet sampleUsers = DataSet.of("test", "sample_users");
RecordStream stream = session.query(sampleUsers).where("$.age > 30").execute();
while (stream.hasNext()) {
System.out.println(stream.next().recordOrNull().bins);
}
stream.close();
}

Python (Aerospike Python SDK):

from aerospike_sdk import Behavior, DataSet, SyncClient
with SyncClient("localhost:3000") as client:
session = client.create_session(Behavior.DEFAULT)
sample_users = DataSet.of("test", "sample_users")
stream = session.query(sample_users).where("$.age > 30").execute()
for result in stream:
print(result.record.bins)
stream.close()

The $.age > 30 string is Aerospike Expression Language (AEL); see the Aerospike Expression Language reference for full syntax.

8. Next steps

You have connected to a cluster, explored sample data, built a filter, and seen how expressions translate to SDK code. Continue learning with these guides:

Feedback

Was this page helpful?

What type of feedback are you giving?

What would you like us to know?

+Capture screenshot

Can we reach out to you?