【问题标题】:Full Text Search for django using MySQL使用 MySQL 对 django 进行全文搜索
【发布时间】:2012-04-16 17:04:34
【问题描述】:

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

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

谢谢

【问题讨论】:

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


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

    编辑

    干草堆:

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

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

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

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

    【讨论】:

    • 当你说搜索功能会被频繁使用和严重时,那是什么意思,我的意思是差异在哪里。是?和大小有关吗?哪一个可以轻松扩展或更换?
    猜你喜欢
    • 1970-01-01
    • 2011-01-15
    • 2013-03-31
    • 2012-12-29
    • 1970-01-01
    • 2014-12-25
    • 2018-03-02
    • 2017-12-09
    • 1970-01-01
    相关资源
    最近更新 更多