web2py 就像谷歌应用程序引擎的等价物
有没有办法使用应用引擎 BigTable 数据库生成类似于 like
、contains
、startswith
运算符的查询?
这样我就可以做类似的事情:
db(db.some_table.like('someting')).select()
在 web2py 中使用应用程序引擎。
Is there any way to generate queries similar to the like
, contains
, startswith
operators with app engine BigTable database?
So that I could do something similar to:
db(db.some_table.like('someting')).select()
with app engine in web2py.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应用程序引擎不支持全文搜索,所以简短的回答是否定的。
您可以使用 web2py 创建一个计算字段,其中包含要搜索的关键字列表。
在 GAE 上,关键字字段是 StringListProperty()。
然后,您不再搜索标题,而是搜索关键字:
这适用于 GAE,而且非常高效。现在的问题是,由于 GAE“爆炸”索引问题,您将不习惯将其组合到复杂的查询中。例如,您有 N 个关键字,想要搜索两个关键字:
您的索引大小变为 N^2。因此,您必须在本地执行更复杂的查询:
所有这些都适用于 GAE 和非 GAE。它是便携式的。
App engine does not support full text search so short answer is no.
What you can do with web2py is create a computed filed with a list of keywords to search for.
On GAE the keywords field is a StringListProperty().
Then instead of searching in title, you search in keywords:
This works on GAE and it is very efficient. The problem now is that you will not be used to combine it in complex queries because of the GAE "exploding" indexes problem. For example is you have N keywords and want to search for two keywords:
Your index size becomes N^2. So you have to perform more complex queries locally:
All of this will also work on GAE and not-on-GAE. It is portable.