Google App Engine Datastore查询语言(gql)不提供像“LIKE”这样不精确的操作符,甚至不区分大小写。可以通过存储小写字段的版本来解决区分大小写的问题。但是如果我想搜索一个人但是我不确定名字的拼写是什么?有处理这种情况的可接受模式吗?对于Google App Engine数据存储区中的不精确查询,有什么好的模式?
3
A
回答
8
从文档报价:
提示:查询过滤器没有一个明确的方式来匹配只是一个字符串值的一部分,但你可以伪造一个前缀匹配使用不等式过滤条件:
db.GqlQuery("SELECT * FROM MyModel WHERE prop >= :1 AND prop < :2", "abc", u"abc" + u"\ufffd")
这将每个MyModel实体与一个以字符abc开头的字符串属性prop匹配。 unicode字符串u“\ ufffd”表示最大可能的Unicode字符。当属性值在索引中排序时,落在此范围内的值都是以给定前缀开头的所有值。
http://code.google.com/appengine/docs/python/datastore/queriesandindexes.html
另一种选择是SearchableModel,但是,我不认为它支持部分匹配。
1
你可以在数据存储中存储的同音http://effbot.org/librarybook/soundex.htm版名称。然后,查询名称,查询查询,然后查看。
相关问题
- 1. Google App Engine:存储数据及查询
- 2. Google App Engine数据存储查询(Java)
- 3. 在Google App Engine中剖析数据存储区查询
- 4. Google App Engine数据存储区编码?
- 5. Google App Engine数据存储区 - 主键
- 6. Google App Engine在线数据存储区
- 7. 不存储在Google App Engine数据存储中的对象
- 8. Google App Engine数据存储中的参数化查询?
- 9. Google App Engine中的查询/数据存储问题 - Go API
- 10. Google App Engine本地数据存储区查看器不工作?
- 11. 数据存储一对多Google App Engine
- 12. Google App Engine中的数据存储
- 13. Google App Engine数据存储查询返回陈旧数据
- 14. Google App Engine数据存储:使用GQL查询提取数据
- 15. Google App Engine数据存储上的Python API查询
- 16. 查询Google App Engine数据存储时的并发问题
- 17. 向App Engine数据存储区均匀分布同时查询
- 18. Google App Engine数据存储区中最有效的一对多关系?
- 19. 什么是Google App Engine的数据存储“父键”?
- 20. Google App Engine数据存储区中的父键集群
- 21. 无法使用筛选器在Google App Engine中查询数据存储区(Python)
- 22. 查询App Engine中数据存储的最有效方法
- 23. App Engine数据存储 - 数据模型
- 24. 使用Key.Id查询Google App Engine数据存储
- 25. Django on Google App Engine:将查询调试到数据存储
- 26. Google App Engine Java数据存储查询 - 限制结果?
- 27. 在Google App Engine数据存储上执行大型查询
- 28. Google云中的Google Compute Engine,App Engine和Container Engine有什么区别?
- 29. 重构Google App Engine数据存储
- 30. Google App Engine数据存储困难