This module defines an EntityCollectionIndex interface for indexing, de-indexing and querying Entities within a Collection. Queries are expressed in Usergrid's SQL-like query syntax.
This module also provides an implementation of the EntityCollectionIndex using the open source ElasticSearch as index and query engine.
Here are the important parts of the QueryIndex module:
These 100 tests help us ensure that Usergrid 1.0 query syntax is fully supported by this module. To enable re-use of tests from Usergrid 1.0 this module's tests include some “legacy” test infrastructure classes, e.g. Application, Core Application. It also includes a partial implementation of the old Entity Manager interface.
In package org.apache.usergrid.persistence.index.impl:
In package: org.apache.usergrid.persistence.query
In package: org.apache.usergrid.persistence.query.tree
Coming soon...
clusterName = config{usergrid.cluster_name} keyspaceName = config{cassandra.keyspace.application} managementName = config{elasticsearch.managment_index} indexRoot = {clusterName}{keyspaceName} managementIndexName = {indexRoot}{managementName} managementAliasName = {indexRoot}_{managementName}read_alias || {indexRoot}{managementName}read_alias applicationIndexName = {indexRoot}applications{bucketId} applicationAliasName = {indexRoot}{appId}read_alias || {indexRoot}{appId}_write_alias