在Python中的Appengine上的通配符搜索

Pet*_*man 5 google-app-engine wildcard

我刚开始在Google App Engine上使用Python构建联系人数据库.实现通配符搜索的最佳方法是什么?

例如,我可以查询('name =',%ewman%)?

set*_*eth 11

遗憾的是,Google应用引擎无法进行部分文本匹配

来自文档:

提示:查询过滤器没有明确的方法来匹配字符串值的一部分,但您可以使用不等式过滤器伪造前缀匹配:

db.GqlQuery("SELECT * FROM MyModel WHERE prop >= :1 AND prop < :2", "abc", u"abc" + u"\ufffd")
Run Code Online (Sandbox Code Playgroud)

这将匹配每个MyModel实体,其字符串属性prop以字符abc开头.unicode字符串u"\ ufffd"表示最大可能的Unicode字符.当属性值在索引中排序时,属于此范围的值是以给定前缀开头的所有值.