Как работает сервер полнотекстового поиска, такой как 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)

Можно ли объяснить простыми словами, как работают эти запросы и как они генерируются?

19
задан Yavar 24 April 2012 в 10:06
поделиться