Быстрый автокомплит с использованием libscgi
3 мин
Недавно была опубликована статья "libscgi — эффективное решение для простых и быстрых скриптов". Хотелось бы продолжить ранее представленую тему с более практической стороны. Как уже догадались из название — речь пойдет об скрипте автокомпита.
Пользователей, и меня в частности, всегда разражали эти уж медленные автокомплиты. Бывает наберешь уже почти все слово, как появляется выпадающая менюшка. Понятно, что JavaScript сам по себе медленный. Но если еще автокомплит будет тормозить на стороне сервера, то вообще как-то кисло получается. Выход есть, если на серверной части использовать, что-то более быстрое, как вариант можно использовать бинарный скрипт с использованием libscgi. Исходники тут. Чуть ниже подробности.
Пользователей, и меня в частности, всегда разражали эти уж медленные автокомплиты. Бывает наберешь уже почти все слово, как появляется выпадающая менюшка. Понятно, что JavaScript сам по себе медленный. Но если еще автокомплит будет тормозить на стороне сервера, то вообще как-то кисло получается. Выход есть, если на серверной части использовать, что-то более быстрое, как вариант можно использовать бинарный скрипт с использованием libscgi. Исходники тут. Чуть ниже подробности.


Вкратце: статья будет полезна тем программистам, кто уже заинтересовался релевантным поиском и прочитал статьи по стартовой установке сфинкс поиска, погонял на тестовых примерах и таких же синтетических задачах. Часто эти примеры не дают ответа на вопрос, а как же ощутить реальную пользу от поискового модуля Sphinx в сравнении с другими более простыми вариантами поиска. Примеры кода в статье — на php+smarty, Sphinx 2.0.1-beta, база данных — mysql, исходники и дамп структуры базы выложены отдельным архивом в подвале. В статье описан пример использования таких особенностей сфинкса, как:
Давно никто не писал в этот блог. Все работают, работают, работают… А стоит ли? ) 


Многие из нас сталкивались с всплывающими окнами, когда при этом постепенно потухает фон. Взгляд пользователя невольно фокусируется только на той части экрана, где что-то требуется от этого самого пользователя. Достаточно полезно, не правда ли?