This is a cross-post of https://groups.google.com/d/topic/google-appengine/97LY3Yfd_14/discussion
I\'m working with the new full text search service in gae 1.6.6 and I\'
As briefly explained in the documentation, the query parameter is a string that should conform our query language. Which we should document better.
For now, I recommend you to wrap your queries (or at least some of the words/terms) in double quotes. In that way you would be able to pass all printable characters, but "
and \
. The following example shows the result.
import string
from google.appengine.api.search import Query
Query('"%s"' % string.printable.replace('"', '').replace('\\', ''))
and you could even pass non printable characters
Query('"%s"' % ''.join(chr(i) for i in xrange(128)).replace('"','').replace('\\', ''))
EDIT: Note that anything that is enclosed in double quotes is an exact match, that is "foo bar" would match against ...foo bar... but no ...bar foo..