JanusGraph uses only indexes which have status
When the index is created it will not be used by JanusGraph until it is enabled.
After the index is build you should wait until it is registered (i.e. available) by JanusGraph:
//Wait for the index to become available (i.e. wait for status REGISTERED) ManagementSystem.awaitGraphIndexStatus(graph, "myIndex").call();
After the index is registered we should either enable the index (if we are sure that the current data should not be indexed by the newly created index) or we should reindex current data so that it would be available in the newly created index.
Reindex the existing data and automatically enable the index example:
1 2 3
mgmt = graph.openManagement(); mgmt.updateIndex(mgmt.getGraphIndex("myIndex"), SchemaAction.REINDEX).get(); mgmt.commit();
Enable the index without reindexing existing data example:
1 2 3
mgmt = graph.openManagement(); mgmt.updateIndex(mgmt.getGraphIndex("myAnotherIndex"), SchemaAction.ENABLE_INDEX).get(); mgmt.commit();
Index states and transitions
An index can be in one of the following states:
INSTALLED The index is installed in the system but not yet registered with all instances in the cluster
REGISTERED The index is registered with all instances in the cluster but not (yet) enabled
ENABLED The index is enabled and in use
DISABLED The index is disabled and no longer in use
The following actions can be performed on an index to change its state via
REGISTER_INDEX Registers the index with all instances in the graph cluster. After an index is installed, it must be registered with all graph instances
REINDEX Re-builds the index from the graph
ENABLE_INDEX Enables the index so that it can be used by the query processing engine. An index must be registered before it can be enabled.
DISABLE_INDEX Disables the index in the graph so that it is no longer used.
REMOVE_INDEX Removes the index from the graph (optional operation). Only on composite index.