Update to reflect current state of Query-Index module.
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/0dc17932 Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/0dc17932 Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/0dc17932 Branch: refs/heads/two-dot-o Commit: 0dc179320e3a9819022dd97615456dafeccbdac2 Parents: c7dd4e5 Author: Dave Johnson <[email protected]> Authored: Mon Mar 10 14:00:58 2014 -0400 Committer: Dave Johnson <[email protected]> Committed: Mon Mar 10 14:00:58 2014 -0400 ---------------------------------------------------------------------- stack/corepersistence/queryindex/README.md | 39 +++++++------------------ 1 file changed, 10 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/0dc17932/stack/corepersistence/queryindex/README.md ---------------------------------------------------------------------- diff --git a/stack/corepersistence/queryindex/README.md b/stack/corepersistence/queryindex/README.md index 769bda1..cb96aa1 100644 --- a/stack/corepersistence/queryindex/README.md +++ b/stack/corepersistence/queryindex/README.md @@ -9,58 +9,39 @@ This module also provides an implementation of the EntityCollectionIndex using t Here are the important parts of the QueryIndex module: * __EntityCollectionIndex__: the interface that defines methods for indexing, deindexing and querying an index. - * __EntityCollectionIndexFactory__: factory for obtaining an index for an Entity Collection. - * __IndexFig__: defines configuration needed for this module to operate. - * __org.apache.usergrid.persistence.index.impl__: provides an implementation using ElasticSearch via its Java API. - * __Query, Results and EntityRefs__: these classes were "ported" from Usergrid 1.0 to support Usergrid query syntax. We define a grammar and use ANTLR to generate a parser and a lexer. -Legacy Tests +100 Legacy Tests --- -These 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. +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. -These are legacy tests that are now (mostly) running against the index implementaiton. +In package org.apache.usergrid.persistence.index.impl: * GeoIT * IndexIT * CollectionIT -* QueryTest -* GrammarTreeTest -* LongLiteralTest -* StringLiteralTest + +In package: org.apache.usergrid.persistence.query + +In package: org.apache.usergrid.persistence.query.tree Stress Tests --- Coming soon... -Issues and work remaining +Issues to consider --- * We have to set a Query Cursor Timeout, is that a problem? * No, but how does it work. Does timeout reset on each query? - * We need to set a Refresh Frequency, how do we design around that? * To be determined... - * Better to have index for all, or one per organization? - + * More indexes, more complexity, number of shards, etc.? + * Smaller indexes means quicker queries? * For each index, how many shards? The default five is good enough? * The number of shards = the maximum number of nodes possible - -__Work remaining:__ - -- Figure out why some GeoIT tests cause subsequent tests to fail - -- Create CHOP-style test cases to stress system - -- Bring in tests from org.apache.usergrid.persistence.query - -- Get rid of Load Level stuff in Results, allow caller to get anything - -- Use Entity Validation utils from Collection instead of my own checks - -- Use muli-get for fetching entities for results
