1

我来自 PHP,现在使用 Django,我喜欢匹配 PHP 查询并希望使用一些已经开发的应用程序。用于全文搜索。好的部分是有很多可用的,如 djapian、sphinx、lucene、solango 和 haystack。糟糕的是我不知道我应该使用什么?该应用程序。是更新的,搜索可以是不同类型的人搜索内容搜索等所以我希望它足够快,更快地实现和可靠。所以有人知道哪个更好,以后可以很容易地被我们自己替换必需的?

还请说明使用 Q 编写自己的选项是否更好。

谢谢

4

1 回答 1

2
  • 如果您的项目很严肃并且会经常使用搜索功能,请使用带有 Xapian、Solr 后端或 Djapian 的 Haystack。
  • 如果您想使用 ORM 玩游戏,或者有额外复杂的过滤器或 Haystack 不支持的其他类型的操作,请使用自制 Q。不要期望太多。

编辑

草垛:

  • 可替换的后端,Xapian 和 Solr 都是有前途的(稳定、快速和低成本的磁盘)。
  • 与 Django 的良好集成
  • 可调索引策略
  • 偶尔可能会出现一些奇怪的地方,你需要直接检查代码
  • 在某些平台上安装后端可能很困难,但是网上有一些方法

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

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

我没有使用狮身人面像的经验,所以没有提及。

于 2012-04-03T03:19:05.810 回答