对于我实施Haystack的项目,但现在我想知道使用Haystack在ORM上的优缺点。对于我的项目,我需要通过他们的头衔和名字找到书籍。我猜Haystack更有用,如果你必须做全文搜索或者我错过了什么?Django:Haystack or OR
3
A
回答
6
Haystack对于全文搜索来说当然更好,并且还提供了一些其他的好处,你不会使用ORM。下面是一些从草堆网站:
- 拼写建议
- 车花
- 更多类似这样的
- 突出
- 搜索条件提高
除此之外,你应该用干草堆上ORM,如果你期望大量的搜索,因为你会从DB中卸载所有的工作(这应该专注于编写和检索你的数据)。
0
草堆是一个模块,可以更容易搜索集成为您的Django应用
您可以创建类似的东西到的ModelForm,叫ModelIndex,在这个新的类,你就可以宣布你的模型的搜索领域,其他设置
它几乎没有做Django的ORM(ORM的使用与您的数据库comunicate)
当然你可以用搜索模式,你的数据库模型中指定的ORM查询,但草堆是一个在您的w上轻松设置搜索引擎的更好选择ebsite,所以...如果你必须在你的网站上启用复杂的搜索,只需要与Haystack一起去
3
使用草堆在ORM的主要优点是性能。LIKE
如果您有100个并发用户搜索,请求只会杀死您的数据库。如果你有MYSQL,当然你仍然可以使用它的全文功能,但它仍然比Xapian或Solr慢。
此外,您还将拥有其他功能,例如用户喜爱的模糊搜索。
它确实带有设置的Solr和维护它,所以额外的工作:
- 如果您的网站将是永远的小,像小公司的内部网,也懒得和用户ORM 。
- 如果你计划大的坏网,去干草堆。
1
不要忘记提及做一个基本的干草堆设置并不比使用Django的ORM做一个搜索视图更多的工作。
相关问题
- 1. If or else in view or controller
- 2. And + Or in Or Select Select-Statement
- 3. mysql query left join or group_concat or?
- 4. IN or OR的快点有多快?
- 5. Capifony:syntax error,unexpected tLABEL,expected keyword_do or'{'or'('
- 6. android.support.v5.app.Fragment or android.app.Fragment?
- 7. Blob or Upload?
- 8. SQLite3,MATCH和OR
- 9. Delvik or Dalvik?
- 10. Autowiring or setter injection
- 11. jQuery OR Selector?
- 12. Android setContentView or Intents?
- 13. SQL,OR和Statement
- 14. OpenGL VBO:Short or Float?
- 15. static var or AppDelegate
- 16. Python:sqlite OR语句
- 17. AsyncTask or threads
- 18. Array or Assoc?
- 19. LEFT JOIN using OR
- 20. LINQ WHERE与OR
- 21. Sql or operator
- 22. SQL表OR域
- 23. Ebean与OR(MySQL)
- 24. Ransack OR查询
- 25. Datagridview currentrow or selectedrow
- 26. Dictionary or KeyedCollection?
- 27. cakephp OR条件
- 28. Git Submodule or fork
- 29. MVC:Controller or Library
- 30. PRINTDLG OR PAGESETUPDLG
它在PostGreSQL(9.x)的后续版本中如何与全文搜索进行比较(性能明智)? – mtnpaul 2012-02-24 19:40:05
我不使用PostGres,所以我不能告诉。 – 2012-02-25 09:55:41