java - Google Cloud Datastore - Inequality returning "no matching index found" -


in android studio, i'm trying use google clood datastore android app.

with google example https://cloud.google.com/datastore/docs/concepts/indexes#datastore_indexes_and_properties able add tom (32 years old) , lucy (30 years old) person , children of company acme. can see these 2 entries in datastore in google developers console.

  • i can retrieve children company acme if set query filter below.

    key acmekey = makekey("company", "acme").build(); makefilter("__key__",     propertyfilter.operator.has_ancestor,     makevalue(acmekey)).build())); 
    • if want retrieve person age equal 32 add filter above makefilter("age", propertyfilter.operator.equal, makevalue(32)).build() then, person tom.

  • but, if, instead of operator.equal put inequality filter operator.less_than or operator.greater_than error "no matching index found".

i think it's problem of indexes, don't understand how can set index. use android studio , don't use @ app engine. want retrieve data mysql simple where age > 32.

btw, tried gql , exact same problem, work equal, not greater_than (and same in https://developers.google.com/apis-explorer).

so, know how can fix problem ? !!

index configuration cloud datastore handled using gcd.sh tool.

it's easiest if you're able run queries against local datastore provided gcd.sh. tool can determine indexes you'll need, , can use updateindexes command configure them on production app.

if not, can configure indexes hand:

  1. gcd.sh create <project> -d <project>
  2. create file @ <project>/web-inf/datastore-indexes.xml following content:

<?xml version="1.0" encoding="utf-8"?> <datastore-indexes autogenerate="true"> <datastore-index kind="company" ancestor="true"> <property name="age" direction="asc" /> </datastore-index> </datastore-indexes>

  1. gcd.sh updateindexes <project>

the exact content of file depend on queries want run. this page gives additional details on format of indexes file.


Comments

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

gradle error "Cannot convert the provided notation to a File or URI" -

ios - Possible to get UIButton sizeThatFits to work? -