Sphinx MySQL子查询无法正常工作

时间:2011-11-16 05:10:16

标签: mysql sql sphinx

我正在处理增量更新脚本,并且每次尝试使用此命令时都会:

SELECT id, title, search
FROM related
WHERE id >
(
   SELECT max_doc_id
   FROM sphinx_delta
   WHERE counter_id = 2
)

在phpMyAdmin中运行它将返回10个结果。

SELECT id, title, search
FROM related
WHERE id > 1010 

在phpMyAdmin中运行它将返回SAME 10结果。当然,从子选择返回的值是1010.

唯一的问题是,当我在Sphinx搜索中使用第一个查询时,它返回0结果,而第二个返回10个结果。我不知道什么是错的,两个查询在MySQL中完美运行,我使用Sphinxs网站上的教程来制作配置文件。

这是我的配置文件中的部分:

    source delta2 : related
    {
            type        = mysql

            sql_host    = localhost
            sql_user    = *
            sql_pass    = *
            sql_db      = base
            sql_port    = 3306

            sql_query   = SELECT id, title, search FROM related WHERE id > (SELECT max_doc_id FROM sphinx_delta WHERE counter_id = 2)
    }

我试过在Sphinx的论坛上发帖,但得到了0回复。任何建议,我从0.9.9迁移到最新版本希望它能解决它,它无法修复它。

1 个答案:

答案 0 :(得分:0)

您正在尝试从... delta读取时更新delta? sphinx不会更新索引,它会重新创建它们,没有什么可读的。