【问题标题】:django-sphinx-db: raw sql queries, join with msql tables?django-sphinx-db:原始 sql 查询,加入 msql 表?
【发布时间】:2013-07-29 06:13:49
【问题描述】:

我正在考虑使用 django-sphinx-db https://pypi.python.org/pypi/django-sphinx-db

在我安装它之前,我只是想我会检查一下:

是否可以将特殊的 sphinx 表与常规的 mysql 表连接起来?我可以使用原始查询来做到这一点吗?

关于 django-sphinx-db 的任何其他想法?有什么理由我不应该使用它?

我打算在 sphinx 中索引一些文本内容,但会在 mysql 表中包含匹配的图像。所以我需要对内容表和图像表进行连接。

【问题讨论】:

    标签: django sphinx django-sphinx


    【解决方案1】:

    是否可以将特殊的 sphinx 表与常规的 mysql 表连接起来?

    没有。

    SphinxQL(因此django-sphinx-db)是一个单独的“服务器”。所以你连接到 mysql 运行 mysql 查询,并 searchd 进行 sphinxql 查询。它们位于具有单独连接的单独物理服务器上。

    使用django-sphinx-db,您可以使用它来管理与SphinxSearch 实例的连接,以及您最喜欢的用于访问mysql 服务器的系统。

    您运行 sphinx 查询,然后从 mysql 获取文档。在应用程序代码中执行“加入”。

    --

    加入需要使用SphinxSE。然后,您只需使用与 mysql 服务器的正常连接来运行查询(mysql 服务器,通过 SphinxSE 在内部运行实际的 sphinx 查询) http://sphinxsearch.com/docs/current.html#sphinxse

    在理论上也可以使用 FEDERATED mysql 引擎,效果类似于 SphinxSE。只需使用 FEDERATED 代理到 sphinxQL 后端。但是让它工作可能会很棘手。

    【讨论】:

    • 谢谢,这是我怀疑的。你知道是否存在速度差异,通过 django-sphinx-db 或 SphinxSE 运行它?也许每次运行查询操作系统时都会产生一些连接开销,或者......?我和搜索速度一样关心插入速度。
    • 这是一个苹果与橘子的比较。它们是解决问题的两种完全不同的技术/方法。使用哪个不是性能问题。
    猜你喜欢
    • 2015-11-21
    • 2012-03-16
    • 2018-05-15
    • 2013-04-17
    • 2019-02-03
    • 2019-08-05
    • 1970-01-01
    • 2019-09-10
    • 2011-02-01
    相关资源
    最近更新 更多