Как стать автором
Обновить
0

Sphinx *

Система полнотекстового поиска

Сначала показывать
Порог рейтинга
Уровень сложности

Создание ознакомительного поискового движка на Sphinx + php

Время на прочтение5 мин
Количество просмотров103K

Предыстория


Раньше для поиска по сайту мы использовали обычный fulltext поиск. Но в определенный момент он перестал нас устраивать и мы решили опробовать альтернативную технологию поиска: Sphinx. К сожалению, у сфинкса совсем нет русской документации, поэтому эта статья — аналог статьи Build a custom search engine with PHP, только на русском языке и для моего локального окружения (windows 7, mysql/php)
Статья состоит из 4 частей:
  1. Краткий рассказ про подготовку базы для поиска.
  2. Рассказ про первоначальную установку и настройку сфинкса
  3. Индексирование базы и тестовый поиск из командной строки
  4. Тестовый поиск из php

Читать дальше →
Всего голосов 82: ↑73 и ↓9+64
Комментарии59

вышел Sphinx 1.10-beta

Время на прочтение1 мин
Количество просмотров1.3K
Третьего дня выложил Sphinx 1.10-beta, с блекджеком и шлюхами RT индексами, строковыми атрибутами, оптимизированным форматом индекса, и традиционным десятком-другим фич поменьше. Вчера выложил к нему RPM вот еще.
Читать дальше →
Всего голосов 64: ↑60 и ↓4+56
Комментарии50

Новости проекта Sphinx, весна 2010

Время на прочтение2 мин
Количество просмотров975
Год 2010 получается довольно занятой в целом, весна случилась урожайная на конференции в частности. Поэтому писать в блог на Хабр регулярно получается плохо, но как минимум пачкой новостей и ссылок хочется поделиться (уже пора!). Краткая сводка —
  1. с начала года прошло 3 конференции (Confoo, MySQL UC, RIT++) с докладами про Сфинкс, доступны слайды;
  2. в течение месяца предстоит еще 2 (DORS/CLUC, DevConf), где запланированы доклады и (внимание, нечто новое) мастерклассы про все тот же Сфинкс;
  3. полтора месяца назад запустили (англоязычный) блог, пытаемся регулярно писать интересное туда, пока даже получается (сам очень удивляюсь);
  4. RT апдейты дозрели до публичного релиза настолько, что релиз задерживают не они; SVN версия местами крутится в продакшне, и даже почти что не падает (удивляюсь еще сильнее);
  5. самозародились плагины для WordPress, Zend Framework (не наши).
Подробности под катом!
Читать дальше →
Всего голосов 45: ↑43 и ↓2+41
Комментарии37

Полноценный .NET клиент для Sphinx

Время на прочтение1 мин
Количество просмотров4.2K
Выложил как обещал .NET клиент для Sphinx. Текущая версия поддерживает только tcp/ip протокол (как самый полный из доступных).

Основные преимущества:


  • Полноценная реализация всех команд и типов атрибутов поддерживаемых сервером в 0.9.9-rc2
  • ADO.NET like API
  • Строго типизированный публичный интерфейс (т.е. никакой возни с конвертацией Unix timestamp в DateTime и т.д.)
  • Есть тестовый пример веб-интерфейса к Sphinx, с поддержкой пейджинга
  • Подпроект — GUI утилита для экспериментов над сервером и тюнинга настроек поиска


Проект находится в стадии release candidate. Самые востребованные фичи уже оттестированы и активно используются (напрямую связанные с поиском), но некоторые доп. классы еще не проверялись. Unit тесты тоже разработаны только для части классов. Функциональные тесты пока только в планах.

Планы на будущее:

  • Требуется переработка интерфейса тестовой утилиты, уж очень перегруженной она получилась. Возможно переход на MDI поможет его облегчить
  • Сделать документацию по интерфейсу, API довольно сильно отличается от «родных» клиентов
  • LINQ to Sphinx (очень дальние планы)


UPD: перенес в блог Sphinx (спасибо shodan за карму)

Progg it
Всего голосов 12: ↑8 и ↓4+4
Комментарии2

Истории

Sphinx — не только для поиска!

Время на прочтение2 мин
Количество просмотров10K

Думаю, про такой замечательный поисковый движок Sphinx слышали все или почти все. Наверняка многие уже применяют его, для поиска по сайту, для выборки похожих статей, новостей, товаров и т.д. Он отлично справляется с поисковыми задачами даже на очень больших количествах записей. Но, в своей статье я хочу рассказать про использование Sphinx не для поиска.
Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии31

Ищем втрое быстрее: мульти-запросы и фасеточный поиск

Время на прочтение5 мин
Количество просмотров13K
В сегодняшней статье расскажу про фичу Sphinx под названием мульти-запросы: встроенные в нее оптимизации, реализацию тн. фасеточного поиска, и вообще как иногда можно с ее помощью сделать поиск втрое быстрее.

Но сначала 15 секунд политинформации (сам себя не похвалишь, никто не похвалит). В этом году Sphinx прошел во второй тур конкурса Sourceforge Awards 2009 в номинациях SysAdmins и Enterprise (говорят, в номинации Developers не добрали совсем чуть-чуть). Голосование продлится еще неделю (до 20го числа). Кроме рабочего email адреса, ничего не нужно. Заранее спасибо всем, кто не даст нам пропасть!

И обратно к разработке. Что вообще такое мульти-запросы, и откуда берется обещанное втрое быстрее?
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии20

Как устроено ранжирование

Время на прочтение9 мин
Количество просмотров26K
Со временем Sphinx оброс большой кучей режимов поиска и ранжирования. Регулярно возникают вопросы про разное (от «как вытащить документ на 1е место» до «как рисовать от 1 до 5 звездочек в зависимости от степени совпадения»), которые на самом деле суть вопросы про внутреннее устройство тех режимов. В этом посте расскажу все, что вспомню: как устроены режимы поиска и режимы ранжирования, какие есть факторы ранжирования, как в точности рассчитываются факторы, как финальный вес, все такое. И, конечно, про звездочки!
Читать дальше →
Всего голосов 52: ↑48 и ↓4+44
Комментарии43

Мне кажется, я начал понимать, что ты имела в виду!

Время на прочтение7 мин
Количество просмотров33K
Опечататься дело нехитрое; опечататься в поисковом запросе так и вдвойне. Почитай все большие веб-поисковики сегодня умеют корректировать ошибки в ключевых словах во-1х и подсказывать запросы во-2х; вслед за ними того же хочется поискам поменьше. Обе штуки можно ловко реализовать при помощи открытого поисковика по кличке Sphinx; в этом посте расскажу, как конкретно.

Ну, за did you mean («что ты имела в виду») и прочий query completion («уж не Васю ли ты ищешь»).
Читать дальше →
Всего голосов 84: ↑75 и ↓9+66
Комментарии24

Как готовить SphinxQL

Время на прочтение6 мин
Количество просмотров45K
По заявкам трудящихся, расскажу про две новых мега-фичи в Sphinx. Предложения тем для последующих рассказов можно засылать в комментарии.

Обе фичи добавлены в версии 0.9.9-rc2, опубликованной в начале апреля 2009го. Версия традиционно (слишком) стабильная, известных серьезных багов нету, тесты проходятся, итп. Отважные люди, а также коммерческие клиенты с контрактами про поддержку, уже успешно используют в продакшне, несмотря на отличный от «release» тег.

1я мега-фича. Теперь Sphinx поддерживает сетевой протокол MySQL (внутренней версии номер 10, которую поддерживают все версии сервера и клиента, начиная с MySQL 4.1 и по MySQL 5.x включительно).

Читать дальше →
Всего голосов 88: ↑86 и ↓2+84
Комментарии80

Sphinx и MSsql: проблемы… (fixed: уже нет проблем;-)

Время на прочтение2 мин
Количество просмотров2.9K
Вчера мы пытались настроить работу между Sphinx и MSsql, начали возникать непонятки)
Версия ПО: Sphinx 0.9.9-rc2
ОС: Windows 2003 Server Standard Edition x86 SP2
БД: MSSQL Server 2008 Enterprise x86 SP1
У используемой базы Collation — Cyrillic_General_CI_AS

С основными настройками и с запуском самого сервиса проблем не возникло.
Читать дальше →
Всего голосов 2: ↑1 и ↓10
Комментарии7

Про что рассказать?

Время на прочтение1 мин
Количество просмотров2.8K
Смотрю, блог про Сфинкс почти мертвый.
Можно пробовать это исправить, и довести блог до состояния хотя бы полумертвого.

О чем интересно было бы почитать?
Туториалы для совсем начинающих не предлагать, не смогу.

Для затравки, и заодно в порядке спама.
Все уже знают, что свежий Сфинкс умеет прикидываться mysql сервером, и соотв-но никакой API не нужен?
Все уже знают, что запросы теперь можно писать в виде SELECT * FROM index WHERE MATCH('test')?
Все уже знают, как легко и непринуждено делать подсказки и-или автокоррекцию слов?
Все уже знают, что наконец появился открытый репозиторий для самых бесстрашных? :)
Всего голосов 81: ↑71 и ↓10+61
Комментарии110

Организуем релевантный поиск по разнородным данным с помощью Sphinx

Время на прочтение10 мин
Количество просмотров21K
В одном из текущих проектов возникла задача поиска по данным разного типа, которая была успешно решена с помощью зарекомендовавшей себя поисковой машины Sphinx, но обо всем по порядку. 

Постановка задачи


В проекте есть на данный момент 2 зоны:
  1. географическая зона, реализованная на базе Google Maps, которая отображает нанесенные пользователями на карту географические объекты (маркеры, маршруты и области);
  2. информационная зона, которая представляет собой большой иерархически организованный каталог, содержащий информационные материалы.
Необходимо было решить задачу одновременного текстового поиска по 3-м типам объектов: географическим объектам, категориям информационной зоны и материалам информационной зоны — c возможностью фильтрации по дате публикации объектов и категориям, к которым они относятся.
Решаем задачу
Всего голосов 44: ↑44 и ↓0+44
Комментарии41