Авторизация

Вы можете войти через одну из учетных записей:

ИЛИ



Напомнить пароль
Регистрация
0.00

avatar Sphinx

Cвободно распространяемая система полнотекстового поиска, sphinxsearch.com

Администраторы (1): Diesel
Модераторы (0): Модераторов здесь не замечено
Читатели (1): apple

SphinxИндексируем форумы. Генератор XML-потока для сфинкса, с фильтрами на регулярках

Часто встречается задача прикрутить к форуму быстрый поиск. Так получается, что большинство выбирает sphinx search. Ну тем или иным способом его примонстрячивают и умывают ноги — большинство ставит настройки по умолчанию и считает задачу выполненной.

Однако желающие копнуть поглыбже и повысить качество выдачи обнаружат массу нюансов. Я пока оставлю в стороне вопросы генерации словарей, и коснусь конкретно форумной проблемы — удалению ббкодов. Во-первых, они в поисковом индексе нафик не нужны. Во-вторых, цитаты вызывают дубли в выдаче, с которыми тяжело бодаться. Потому что группировкой можно аннигилировать что-нибудь не то, и вообще, она нужна для другого.

В теории все звучит просто — прогоняйте данные через XML-пайп, и будет вам счастье. На практике этот чудо-совет содержит 2 неслабых проблемы:

  • Простым людям писать XML-генератор довольно хлопотно. А готового в интернетах не найти (было не найти :)
  • Фильтровка текста регекспами — штука тонкая. После слов «надо фильтрануть регекспами несколько миллионов записей» большинство начинает биться в судорогах или просто падает в обморок


Но любой грамотный программист подтвердит, что технические проблемы решаемы. Достаточно иметь прямую голову и светлые руки. А любое грамотное начальство добавит, что технических проблем вообще не существует — нужен всего лишь мешок денег.

Итак, наша конфетная фабрика представляет… Быстрый генератор XML-потоков с фильтровкой текстов… на PHP!

Читать дальше
  • 0
  • Diesel
  • 09 декабря 2010, 15:36
  • add twitter 

SphinxSphinx RT (real-time) индексы

Sphinx 1.10 поддерживает индексы реального времени (Reat-time или RT). Это самая важная функция в новой версии этого отличного полнотекстового поисковика. Индексы реального времени позволяют синхронно добавлять документы для поиска в индекс. Это позволяет избежать задержки появления новых документов в результатах поиска. Пробуем RT индексы на практике.

Обзор

Как уже было сказано, RT индексы позволяют добавлять документы в поисковый индекс на лету (не только добавлять, но и обновлять/удалять). RT индексы поддерживают не все дополнительные возможности (сейчас нет поддержки MVA атрибутов, префиксов, процесс оптимизации индекса еще не реализован), но большинство уже доступно. “Живые” индексы находятся в активной разработке, поэтому все недостающие функции будут доступны в скором времени.

Использование RT индексов

Объявление RT индекса выглядит следующим образом:
index rt_test
{
	type = rt
	path = /usr/local/sphinx/data/rt_test
	rt_field = title
	rt_field = content
}

Читать дальше
  • 0
  • Diesel
  • 18 ноября 2010, 20:51
  • add twitter