Что-то не так с этим оператором SQL для Sphinx? - PullRequest
0 голосов
/ 17 октября 2018

Просто для справки, я использую Sphinx для поиска через PHP / MySQL.Это проходит через систему, которую мы имеем.Вот вопрос SQL-оператора:

select * from [TABLE_NAME] where match('@keywords "homeschooling"') and status = 3 order by rand() limit 25

Я получаю эту ошибку с указанным оператором:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

Однако, если я использую это точное утверждение и запускаю его сам, это работает!Поэтому я не уверен, в чем проблема.

Напомним, оператор SQL не работает и возвращает ошибку при запуске через систему, но работает при запуске сам по себе.

Надеюсь, кто-томожет помочь.

Спасибо!

1 Ответ

0 голосов
/ 17 октября 2018

Sphinx, или SphinxSE , не использует синтаксис полнотекстового поиска MySQL.

После создания таблицы механизма Sphinx:

CREATE TABLE t1
(
    id          BIGINT UNSIGNED NOT NULL,
    weight      INTEGER NOT NULL,
    query       VARCHAR(3072) NOT NULL,
    group_id    INTEGER,
    INDEX(query)
) ENGINE=SPHINX CONNECTION="sphinx://localhost:9312/test";

Запросчасть строки соответствует синтаксису поиска sphinx:

SELECT * FROM t1 WHERE query='test it;mode=any';
...