Может ли кто-нибудь объяснить простыми словами, как работает полный текстовый сервер, например Sphinx? В простом SQL SQL-запросы можно использовать для поиска определенных ключевых слов в текстах:
select * from items where name like '%keyword%';
Но в файлах конфигурации, сгенерированных различными плагинами Sphinx, я вообще не вижу таких запросов. Они содержат вместо SQL-операторов следующие, которые, похоже, делят поиск на отдельные группы идентификаторов:
SELECT (items.id * 5 + 1) AS id, ...
WHERE items.id >= $start AND items.id <= $end
GROUP BY items.id
..
SELECT * FROM items WHERE items.id = (($id - 1) / 5)
Можно ли в простых словах объяснить, как эти запросы работают и как они генерируются?