Пошукова машина Sphinx: основні функції, застосування

Як працює Sphinx

Вся складність схеми роботи пошукача підсумовується 2 ключових моментах:

  • використовуючи вихідну таблицю, Sphinx створює власну базу даних індексів;
  • потім, коли користувач надсилає запит API, Sphinx повертає масив ідентифікаторів, які відповідають ідентифікаторів у вихідній таблиці.

Навіщо використовувати Sphinx

Основна причина, по якій слід його використовувати, – швидкість пошуку. Звичайні пошуки користувача MySQL займають значно більше часу, ніж пошук в Sphinx. Користувач починає помічати різницю, як тільки його база даних буде мати мільйони записів. Якщо база даних невелика (наприклад, форум з 100 користувачів, це не зовсім те, що потрібно. Хоча можна спробувати. Плюс є цікаві функції, такі як морфологія слова (якщо користувач шукає кішок, це буде відповідати кішці, якщо він шукає бігу, це буде відповідати бігу, бігом і т. д.).

Інша причина – це повнотекстовий пошук. Чи замислювався хто-то про те, що під час здійснення пошуку двох слів в Google він буде шукати їх у тому ж абзаці або в двох абзацах (або речення), але не по всій сторінці? Sphinx ж дозволяє робити подібні речі.

Масштабованість полягає в наступному. Якщо у вас великі бази даних на багатьох серверах, Sphinx подбає про це. І додаток буде вважати, що вона працює на одному сервері. Sphinx може зняти велику частину навантаження з PHP-серверів з точки зору обробки і пошуку інформації.

Sphinx трохи відрізняється від того, до чого користувач звик з запитами MySQL. Так що не варто очікувати отримати всі миттєво.