Django的全文搜索你如何用的MySQL的InnoDB全文搜索配置Django的。 MySQL Myisam引擎支持全文搜索,但我將使用InnoDB。這是使用Sphinx的最佳方式嗎?如果你解釋你的配置,我將不勝感激。 (順便說一句,我也不知道它是如何與postgresql一起工作的。)與MySQL的InnoDB
回答
雖然它也可以被配置爲自動與MySQL,獅身人面像確實是一個單獨的工具來的MyISAM或InnoDB的。與MyISAM中的簡單全文搜索相比,它提供了更好的處理和性能,但是當然,價格是基於搜索和數據庫同時查詢條件變得困難。您可以使用SphinxSE(存儲引擎)來查詢並通過MySQL進行連接,但不如將其保存在數據庫引擎中,並且連接性能不佳。
否則,你可以拿MyISAM和InnoDB的混合方式。將所有的規範數據放在適當的InnoDB表中,並且只需使用MyISAM來存儲全文searchbait。對於正常操作,您只需觸摸InnoDB內容;只有在進行全文搜索時,您是否需要加入MyISAM表。然後,您必須確保在成功的事務處理之後,從插入到InnoDB表中的任何新文本更新MyISAM表。
儘管MyISAM中缺少事務支持,偶爾會使併發或錯誤條件中的數據不一致(顯然也適用於像Sphinx,Lucene等單獨全文存儲解決方案的危險),但這不是一個大問題因爲只有searchbait變得不一致,而不是你的實際數據。您也可以藉此機會以不同方式處理您的全文內容,例如通過應用簡單的詞幹,因爲MySQL本身並未實現。
PostgreSQL有其自身內置的全文基礎上,@@
操作的東西。它並不完全符合Sphinx的速度,但在功能上比MyISAM FULLTEXT快很多(例如詞幹,字典,更好地處理相關性值),並且您仍然可以將其與其他查詢條件自由組合。
上次我正要做這樣的事情我想試試django-sphinx,所以這也可能是您的選擇。
可能要看看Haystack
搜索不必硬。 Haystack可讓您編寫一次搜索代碼並選擇您想要的搜索引擎。有了一個熟悉的API,它可以讓任何Djangonaut都能在家中感受到自己的感覺,並且允許您根據需要交換事物的架構,這就是搜索應該如何實現的。
- 1. MySQL備份MyISAM與InnoDB
- 2. 在MySQL(InnoDB的)
- 3. MySQL的死鎖問題與InnoDB的
- 4. 與新的innodb memcached插件MYSQL混淆?
- 5. Mysql的InnoDB的crach
- 6. innoDB的MySQL備份
- 7. MySQL InnoDB CASCADE?
- 8. Mysql/InnoDB或Postgresql?
- 9. mysql innodb鎖
- 10. MySQL InnoDB鎖定
- 11. MYSQL - 鎖定 - InnoDB
- 12. MySQL PBXT vs InnoDB
- 13. MySQL InnoDB優化
- 14. MySQL InnoDB Global Var?
- 15. Mysql innodb參考完整性與空tablr
- 16. 插入觸發器後MySQL - MyISAM與InnoDB
- 17. MySQL與InnoDB表不斷崩潰
- 18. 事務不回滾與MySQL/InnoDB
- 19. 的MySQL - InnoDB的VS的MyISAM
- 20. MySQL的InnoDB的錯誤1005
- 21. MySql,InnoDB和NULL值
- 22. mysql innodb vs myisam inserts
- 23. MySQL InnoDB鎖定行
- 24. MySQL-InnoDb智能鎖?
- 25. Mysql InnoDB數據庫
- 26. mysql innodb中斷表
- 27. Fork MySQL INSERT INTO(InnoDB)
- 28. MySQL InnoDB鎖問題
- 29. Mysql中的InnoDB錯誤
- 30. 配置MySQL的InnoDB爲