Я новичок в MySQL, PHP и сфинкс.
Я хочу вернуть имя таблицы, если дано query text
проживает в нем.
я имею query text
которые могут попасть в любую из этих категорий штата или округа. Я отправляю query text
это через POSTMAN
в API
и пытается напечатать результаты в ответ
но возвращается 0 совпадений
который работает Потому что текст запроса присутствует в одной из таблиц, которые я передаю. Например. Текст запроса — Алабама, присутствует в таблице состояний, но все еще говорит, что ничего не найдено.
PHP-код
$cl = new SphinxClient();
$cl->SetServer('127.0.0.1', 9312);
$cl->SetMatchMode(SPH_MATCH_EXTENDED);
$result = $cl->Query($query, 'detectkeyword');
print_r($result);
Код Sphinx.conf
sql_query = \
Select UUID_SHORT() AS sphinxid, 'state' as keyword from region \
UNION ALL \
Select UUID_SHORT() AS sphinxid, 'county' as keyword from county;
sql_attr_uint = sphinxid
sql_field_string = keyword
Похоже, у вас нет отдельного поля, с которым можно «сравнивать»,
Нужно что-то вроде …
Select UUID_SHORT() AS sphinxid, region_name as text, 'state' as keyword from region \
В противном случае ваш запрос соответствовал только самому ключевому слову state.
Других решений пока нет …