ݺߣ

ݺߣShare a Scribd company logo
Sphinx   на  реальных  проектах
Что такое Sphinx? Система полнотекстового поиска,  разработанная   Андреем Аксеновым. Open Source GPL 2.0 Высокая скорость индексации 600   Mb /мин ( Apache Lucene –  20  Mb /мин) Высокая скорость поиска 150-250   req/s  на 1 M  документов
Конкуренты? MySQL FTS +  из коробки - позиция слова  - один  FT - index Zend Lucene + написан на  PHP - ме-е-е-е-едленный Mb/h
Хотите еще? Sphinx ( англ.  SQL Phrase Index ) – создавался специально для индексации БД. C++ -  бинарник MySQL protocol Дополнительные поля Delta- индекс Кластеризация
С чего начать? Имеем проект и  Sphinx , как их сконнектить? Качаем, ставим или собираем Пишем   конфиг …
Конфиг source  documents_src   { type = mysql sql_host = localhost sql_user = test-user sql_pass =   god-love-sex sql_db = test- db sql_port = 3306 sql_query =  SELECT id, title, content FROM documents } index   documents   { source =  documents_src path = /var/sphinx/data/test1 charset_type = utf-8 }
С чего начать? Имеем проект и  Sphinx , как их сконнектить? Качаем, ставим или собираем Пишем   конфиг Индексируем источник Ищем
PHP
Профит!!!
Что пишут в новостях? Поиск информации в белорусских электронных СМИ
Где -то тут писали… Поиск среди 1 млн. новостей с учетом морфологии Фильтрация по категориям и источникам Сортировка по дате и рейтингу
Хоть прячься,  все равно моя ты Режимы поиска Со всеми  словами С точной фразой С любым из ключевых слов
На фене ботаешь? Язык запросов Кошки & мышки Кошки | мышки Кошки –мышки (кошки мышки) “ кошки мышки” “ кошки собаки мышки”~5 “ Игра в кошки мышки”/2 Кошки << мышки
Так ли очевидно?
Проблемы морфологии
Ищем  _ свежие _  новости Main   + Delta
Пишем плагин Sphinx +  SugarCRM =    Белый  Lexus :)
Хочу все и сразу Полнотекстовый поиск по нескольким полям одновременно Учет релевантности
Внезапно GUID   вместо целочисл . ID Сортировка по полям Индексация связанных данных
Все равно прикручу Добавляем auto_increment Сортируем на стороне MySQL Используем View
Еще истории...
Facet search
Вопросы?

More Related Content

Sphinx в реальных проектах: шишки и плюшки

  • 1. Sphinx на реальных проектах
  • 2. Что такое Sphinx? Система полнотекстового поиска, разработанная Андреем Аксеновым. Open Source GPL 2.0 Высокая скорость индексации 600 Mb /мин ( Apache Lucene – 20 Mb /мин) Высокая скорость поиска 150-250 req/s на 1 M документов
  • 3. Конкуренты? MySQL FTS + из коробки - позиция слова - один FT - index Zend Lucene + написан на PHP - ме-е-е-е-едленный Mb/h
  • 4. Хотите еще? Sphinx ( англ. SQL Phrase Index ) – создавался специально для индексации БД. C++ - бинарник MySQL protocol Дополнительные поля Delta- индекс Кластеризация
  • 5. С чего начать? Имеем проект и Sphinx , как их сконнектить? Качаем, ставим или собираем Пишем конфиг …
  • 6. Конфиг source documents_src { type = mysql sql_host = localhost sql_user = test-user sql_pass = god-love-sex sql_db = test- db sql_port = 3306 sql_query = SELECT id, title, content FROM documents } index documents { source = documents_src path = /var/sphinx/data/test1 charset_type = utf-8 }
  • 7. С чего начать? Имеем проект и Sphinx , как их сконнектить? Качаем, ставим или собираем Пишем конфиг Индексируем источник Ищем
  • 8. PHP
  • 10. Что пишут в новостях? Поиск информации в белорусских электронных СМИ
  • 11. Где -то тут писали… Поиск среди 1 млн. новостей с учетом морфологии Фильтрация по категориям и источникам Сортировка по дате и рейтингу
  • 12. Хоть прячься, все равно моя ты Режимы поиска Со всеми словами С точной фразой С любым из ключевых слов
  • 13. На фене ботаешь? Язык запросов Кошки & мышки Кошки | мышки Кошки –мышки (кошки мышки) “ кошки мышки” “ кошки собаки мышки”~5 “ Игра в кошки мышки”/2 Кошки << мышки
  • 16. Ищем _ свежие _ новости Main + Delta
  • 17. Пишем плагин Sphinx + SugarCRM = Белый Lexus :)
  • 18. Хочу все и сразу Полнотекстовый поиск по нескольким полям одновременно Учет релевантности
  • 19. Внезапно GUID вместо целочисл . ID Сортировка по полям Индексация связанных данных
  • 20. Все равно прикручу Добавляем auto_increment Сортируем на стороне MySQL Используем View
  • 24.