python 中 Appengine 的通配符搜索
我刚刚开始在 Google App Engine 上使用 Python 构建联系人数据库。实现通配符搜索的最佳方法是什么?
例如,我可以执行 query('name=', %ewman%) 吗?
I'm just starting with Python on Google App Engine building a contact database. What is the best way to implement wildcard search?
For example can I do query('name=', %ewman%)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
遗憾的是,Google 应用引擎无法进行部分文本匹配
来自文档:< /a>
Unfortunately, Google app engine can't do partial text matches
From the docs:
App Engine 无法执行“类似”查询,因为它无法高效地执行这些查询。但是,您的 SQL 数据库也不能:“foo LIKE "%bar%"”查询只能通过对整个表进行顺序扫描来执行。
您需要的是倒排索引。 App Engine 中可使用 SearchableModel 进行基本全文搜索。 Bill Katz 在此处编写了增强版本,此处。
App Engine can't do 'like' queries, because it can't do them efficiently. Nor can your SQL database, though: A 'foo LIKE "%bar%"' query can only be executed by doing a sequential scan over the entire table.
What you need is an inverted index. Basic fulltext search is available in App Engine with SearchableModel. Bill Katz has written an enhanced version here, and there's a commercial solution for App Engine (with a free version) available here.