全文使用MySQL搜索django

时间:2012-04-03 03:03:12

标签: django full-text-search django-haystack django-sphinx django-search-lucene

我来自PHP,现在使用Django,我喜欢与PHP的查询匹配,并希望使用一些已经开发的应用程序。用于全文搜索。好的部分是有许多可用的像djapian,狮身人面像,lucene,solango和干草堆。不好的是我不知道应该用什么?该应用程序。是更新的,搜索可以是不同的类型,如人搜索内容搜索e.t.c.所以我希望它足够快,实现更快,更可靠。所以任何人都知道哪一个更好,如果需要可以在以后轻松替换?

请告诉我,使用Q写自己是否是更好的选择。

感谢

1 个答案:

答案 0 :(得分:2)

  • 使用Haystack w / Xapian,Solr后端或Djapian,如果你的项目很严重,将经常使用搜索功能。
  • 如果你想玩w / ORM,或者有更复杂的过滤器或Haystack不支持的其他类型的操作,请使用自制Q.不要期待太多。

<强> 修改

草堆:

  • 可替换的后端,Xapian和Solr都很有前途(稳定,快速,低成本的磁盘)。
  • 与Django的良好整合
  • 可调整索引政策
  • 偶尔会有一些奇怪的东西,你需要直接检查代码
  • 在某些平台上安装后端可能很困难,但网上有如何使用

使用MySQL内置全文搜索,您需要:

  • maunally准备数据库,检查the docDjango MySQL full text search
  • 编写搜索查询解析器和荧光笔
  • 之类的内容
  • 了解搜索中的DB负载
  • 只能在MySQL中工作,在PostgreSQL中还不容易
  • Django直接支持ORM级别,因此可以进行复杂的过滤。在Haystack上,您需要仔细选择索引术语和存储的文档,以便在性能和功能之间进行权衡

我没有Sphinx的经验,所以没有提到它。