我試圖在我的網站上實現一個搜索功能,該功能在金字塔上運行,我想知道接近這個問題的最有效方法是什麼。我目前正在調查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