Как написать запрос для сопоставления по всем таблицам?

Я новичок в 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

0

Решение

Похоже, у вас нет отдельного поля, с которым можно «сравнивать»,

Нужно что-то вроде …

Select UUID_SHORT() AS sphinxid, region_name as text, 'state' as keyword from region \

В противном случае ваш запрос соответствовал только самому ключевому слову state.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector