Sphinx (SQL Phrase Index) - система повнотекстового пошуку з підтримкою морфології різних мов. Дозволяє швидко і гнучко шукати інформацію в базі даних за довільним текстом.
Для замовлення Sphinx виконайте наступне:
Для використання Sphinx на сайті потрібно налаштувати як сам Sphinx, так і сайт.
Після замовлення Sphinx на сторінці цієї допуслуги з'являється дві вкладки:
Конфігурація складається з двох секцій:
source
) - конфігурація джерела даних і його назва (в прикладі db_source
):type
) - тип джерела даних (в прикладі mysql
).sql_host
, sql_port
, sql_user
, sql_pass
, sql_db
) — дані для підключення до бази даних MySQL, Звідки буде братися інформація для індексування.sql_query_pre
) - запит, який буде перед основним запитом на отримання даних з бази (в прикладі SET NAMES utf8
- установка кодування UTF-8).sql_query
) - запит на отримання з бази даних необхідних даних для індексування (в прикладі select id, title, content from table
- стовпці id
, title
і content
з таблиці table
).index
) - конфігурація індексу і його назва (в прикладі test_index
):source
) - назва джерела даних, звідки буде братися інформація для індексування (в прикладі db_source
- див. вище).path
) - абсолютний шлях до файлу з індексами (в прикладі /home/example/.system/sphinx/test_index
).morphology
) - назва бібліотеки (в прикладі stem_ru
), Яка буде використовуватися для пошуку слова з різними словоформами - наприклад, за запитом «собака»Будуть повертатися результати з варіантами«собаки», «собакою», «собаками" і т.д.index_exact_words
) - при використанні спільно з директивою expand_keywords
дозволяє повертати за запитом більш релевантні результати (в прикладі 1
- включено).min_word_len
) - за замовчуванням використовується 1
, Але слова такої довжини зазвичай не несуть смислового навантаження (в прикладі 3
).З докладним описом роботи Sphinx і списком всіх його параметрів можна ознайомитися в офіційної документації (Англ.).
Нижче ви можете:
Після натискання «Зберегти конфігурацію»:
Колонки:
Перед використанням плагінів для роботи з Sphinx уважно ознайомтеся з їхніми вимогами, а також сумісністю. Більшість полігонів давно не підтримуються і працюють з версією Sphinx 2.2 або нижче, на хостингу використовується версія 3.
Налаштування сайту для роботи з Sphinx знаходиться в компетенції розробника сайту або залучених сторонніх фахівців.
Завдання зводиться до наступних етапів:
Підключення сайту до Sphinx виконується через сокет. Шлях до сокету можна знайти на сторінці управління Sphinx. Порт слід вказувати в залежності від конфігурації підключається плагіна, в цілому портом можна знехтувати, вказавши його як 0 або 9312.
Для перегляду логу Sphinx виконайте наступне:
cat ~/.system/sphinx/searchd.log
tail -f ~/.system/sphinx/searchd.log