Sphinx MySQL подзапрос не работает должным образом - PullRequest
0 голосов
/ 16 ноября 2011

Я работаю над скриптом дельта-обновления, и каждый раз, когда я пытаюсь использовать эту команду:

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 вернет те же 10 результатов.Конечно, значение, возвращаемое из вспомогательного выбора, равно 1010.

Единственная проблема заключается в том, что когда я использую первый запрос в поиске Сфинкса, он возвращает 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)
    }

Я попытался опубликовать это на форуме Сфинкса, но получил 0 ответов.Любые предложения, я перешел с 0.9.9 на последнюю версию, надеясь, что это исправит это, это не могло исправить это.

1 Ответ

0 голосов
/ 16 ноября 2011

Вы обновляете дельту, пытаясь читать из ... дельты?sphinx не обновляет индексы, он воссоздает их, читать нечего.

...