Question

With Google App Engine, using Search API Documents and Index, where Documents have DateField named "updated", how it is possible to query for Documents updated before 2014-05-13T00:00:00Z ? I tried

query = 'updated < %s' % (mydate)

So the value is 'updated < 2014-05-13T17:21:35.499000' and it results in QueryError: Failed to parse query "updated < 2014-05-13T17:21:35.499000"

Something is wrong with my syntax, but I don't know of any reference to the syntax of search API queries. Whatever little I could understand looking at the source of c:\Program Files (x86)\Google\google_appengine\google\appengine\api\search\QueryLexer.py, seems comparisons are allowed. Any ideas?

Was it helpful?

Solution

You can only filter using a date, not a datetime (see "Special treatment of string and date fields" here). As follows:

query = 'updated < %s' % mydate.date()

The query documentation is here.

OTHER TIPS

approval_date here is actually an Atom field. Still it isn't working.

query = approval_date < olderTimeInISO8601

There must be another way to do it.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top