Получение данных из SphinxQL запроса "call keywords"
Появилась необходимость извлекать normalized значение от ключевого слова. Существует ли способ получить данные из такого запроса?
sphinxQL> call keywords('Растение','index_name', 1);
+------+------------------+--------------+------+-------+
| qpos | tokenized | normalized | docs | hits |
+------+------------------+--------------+------+-------+
| 1 | растение | растен | 9033 | 19758 |
+------+------------------+--------------+------+-------+
1 row in set (0.000 sec)
Я думаю, что это должно быть что-то похожее
select * FROM (call keywords('растение','index_name', 1))`
Но такой вариант не работает.
Буду благодарен за помощь в решении проблемы.
Ответы (2 шт):
Существует ли способ получить данные из такого запроса?
Средствами SphinxQL - нет.
- Для
CALL KEYWORDSнет опции, чтоб получать только колонку normalized CALL KEYWORDSне поддерживается в sub-select'ах- Через
SET @@varтоже не получится Для этого нет поддержки ни в Sphinx 2/3, ни в Manticore до 3.5.3
Средствами приложения - легко, потому что не смотря на то, что команда называется CALL KEYWORDS, а не SELECT возвращает она точно то же самое, что и любой SELECT, а именно строки с несколькими значениями в каждой. Следовательно извлекать значение normalized можно в самом приложении.
Всем спасибо за ответы, в результате найти решение как извлекать данные на php так и не удалось, но я перевел эту часть приложения на nodejs стек и проблема с получением данных запросов CALL решилась сама собой.