Получение данных из 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 шт):

Автор решения: Manticore Search

Существует ли способ получить данные из такого запроса?

Средствами SphinxQL - нет.

  1. Для CALL KEYWORDS нет опции, чтоб получать только колонку normalized
  2. CALL KEYWORDS не поддерживается в sub-select'ах
  3. Через SET @@var тоже не получится Для этого нет поддержки ни в Sphinx 2/3, ни в Manticore до 3.5.3

Средствами приложения - легко, потому что не смотря на то, что команда называется CALL KEYWORDS, а не SELECT возвращает она точно то же самое, что и любой SELECT, а именно строки с несколькими значениями в каждой. Следовательно извлекать значение normalized можно в самом приложении.

→ Ссылка
Автор решения: yuriyant

Всем спасибо за ответы, в результате найти решение как извлекать данные на php так и не удалось, но я перевел эту часть приложения на nodejs стек и проблема с получением данных запросов CALL решилась сама собой.

→ Ссылка