我试图在我的网站上实现一个搜索功能,该功能在金字塔上运行,我想知道接近这个问题的最有效方法是什么。我目前正在调查Whoosh和MySQL full text searching with SqlAlchemy。我需要一个快速而简单的实现,并且想知道哪一个会是最好的选择。用金字塔框架搜索
Q
用金字塔框架搜索
2
A
回答
6
我试着用全文与本地数据库一段时间,它只是太多的工作,以保持精简gs跨sqlite,mysql和pgsql工作。我将所有的搜索代码移植到了whoosh之后,并且从此以后一直非常高兴。它适用于小型工作负载,纯粹是python,并且无需安装服务器。
你只是实现它就像写入和更新磁盘上的文件。从我读过的内容来看,它在单个数百万个文档中表现良好。我使用了一些索引大小约为100MB的18k文档。有很多灵活性来实现各种标记和其他配置。我真的建议人们从那里开始,如果他们增长了whoosh,然后看看使用elasticsearch,lucene/solr等启动额外的进程。
你可以看到我是如何得到它的实施在这里:
https://github.com/mitechie/Bookie/blob/develop/bookie/models/fulltext.py
,我使用SQLAlchemy的事件挂钩更新:
https://github.com/mitechie/Bookie/blob/develop/bookie/models/__init__.py#L663
,你可以判断基本实现通过以下搜索:
1
我是ElasticSearch的忠实粉丝。这是建立,维护和使用最简单的方法。
我一般使用请求。
指数:
requests.put("http://localhost:9200/myindex/category/",data=json.dumps(document))
搜索:
requests.get("http://localhost:9200/myindex/category/_search?q="+somequery)
你可以得到深入的方式更使用DSL搜索:
相关问题
- 1. 金字塔AuthTktAuthenticationPolicy与其他框架
- 2. 金字塔框架(SQL炼金术) - 使表格全球可用
- 3. 金字塔架构迁移
- 4. 金字塔复选框
- 5. 原始MySQL与SQLAlchemy使用金字塔框架
- 6. 金字塔框架中的可重用组件
- 7. 如何在金字塔框架中使用advance mysql查询
- 8. 使用python-memcached和金字塔框架Pserve服务器
- 9. 在金字塔框架中使用Mysql和SqlAlchemy
- 10. 金字塔启动脚手架错误
- 11. 金字塔
- 12. 金字塔subrequests
- 13. 金字塔,由
- 14. 金字塔
- 15. 金字塔:sqlalchemy.exc.OperationalError
- 16. 在金字塔中使用金字塔认证
- 17. 如何在Python金字塔框架中获取JavaScript数组?
- 18. 金字塔框架不允许AngularJS的JSONP回调格式
- 19. 金字塔框架和主模板/母版页/部分视图
- 20. 什么是我不设置http_cache在金字塔框架
- 21. 在断开连接的系统上安装金字塔框架
- 22. 重新加载金字塔web框架中的翻译文件
- 23. 问题与金字塔框架机智Python 3.3版本
- 24. PayPal IPN在python金字塔框架中返回无效
- 25. 在金字塔框架中postgresql串行主键的sqlalchemy参数
- 26. 在金字塔框架实施的SQLAlchemy烧杯缓存
- 27. 金字塔框架:Apache + mod_wsgi - MySQLdb导入错误
- 28. 金字塔登录用户
- 29. 关于金字塔
- 30. 获取金字塔
尽管我最终选择了ElasticSearch,但您的答案在提供深入的知识方面最有用。谢谢! – Wiz 2012-07-25 23:23:46