Релевантный поиск на wordpress с помощью Sphinx

Друзья, за последние пару недель по мимо работы над PostPR.ru (о внедрении новых сервисов я уже говорил) я также усилено работаю над улучшением блога pervushin.com. За это время на блоге появилось несколько новых «вещичек», некоторые из которых Вам видны, а некоторые визуально не заметны, но поверьте они благоприятно воздействуют на работу блога.

Все нововведения описывать в одном посте не буду (каждой «фишке» свой пост!). Тем более, что для показа некоторых из них требуется наличие примеров в виде статистики, а на сбор статистики требуется время.

Релевантный поиск на wordpress с помощью Sphinx

Сегодня же я хочу рассказать об одном из таких нововведений, которое не требует какой-либо статистики. Это поиск Sphinx.

Многие из Вас знают, что встроенный в wordpress поиск выдает совершенно не релевантные запросу результаты. Именно по этой причине до последнего времени у меня стоял поисковик Google. В принципе он меня устраивал во всем. Выдача релевантная, посты мои в индекс влетают достаточно быстро, нагрузки на сервер никакой, чего еще для счастья надо?

А для счастья нужен свой, «родной» поиск. Чтоб в своем дизайне располагался, чтоб за сведениями к другим серверам не обращался, чтоб ты лично мог делать с ним все, что тебе заблагорассудится.

О поиске sphinx я слышал довольно давно, тем более, что ему уже более 10 лет. Но плагин для wordpress на глаза мне попался только сейчас, когда я задумался о смене поисковика, хотя плагину уже более 3-х лет.

Рассказывать подробно о том, что такое sphinx смысла не имеет. В сети уже достаточно различных статей и презентаций на эту тему. Ну а коротенько, пожалуйста: sphinx — это поисковый сервер, невероятно шустрый и, что не маловажно, выдает релевантные результаты.

Настраивать такой сервер рядовому блоггеру довольно сложно, потому для нас с вами реализовали плагин для wordpress sphinx search.

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

Установка плагина sphinx search

Установка и активация плагина проходит как обычно. Скачиваете архив (он здесь), распаковываете и забрасываете на сервер в папку wp-content/plugins/. Или производите установку из админ панели блога в разделе «Плагины->Добавить плагин». После чего в разделе «Плагины->Установленные» активируем sphinx search.

После активации в разделе «Настройка» появится новый пункт sphinx search, в котором кроются настройки поисковика. В настройке тоже нет ничего сложного. Плагин имеет так называемый wizard, т.е. мастер установки по нашему. Мои действия в этом плане сводились лишь к нажатию кнопки «Save & Continue». В поля для заполнения вводить ничего не приходилось, плагин сам необходимые пути прописывал.

Мастер настройки сфинкса

На каком-то этапе правда вывалилась ошибка. Но открыв тикет в биллинг системе моего хостинга, буквально через пять минут поступил ответ от тех.поддержки и ошибка была устранена. Вот именно поэтому я рекомендую Вам хостинг от FastVPS, кстати и скидки для читателей pervushin.com предоставляются ;), сплошная паимаишь выгода :).

Настройка релевантной выдачи

После установки плагина, я добавил в шапку блога (посмотрите на верх) форму поиска от сфинкса. Для этого необходимо в нужное место шаблона добавить код:

<?php if(function_exists('ss_search_bar')) echo ss_search_bar(true); ?>

Форма будет выглядеть примерно вот так:

Форма поиска sphinx search

Настроить внешний вид формы можно в файле templates/sphinx_search_bar.htm. Я, например, прописал стили поля и кнопки от своей формы обратной связи.

Описывать процесс «дизайнирования» формы не буду. О другом хотел рассказать, а именно о релевантности. У сфинкса с этим все в порядке. Но разработчики плагина пошли дальше. Они добавили функцию релевантной, но более свежей, с последними датами выдачи материалов.

Функция конечно хороша, ну там для новостных сайтов, но не для моего блога. Дело в том, что таким образом выдача уже не выглядит релевантной. Так я например забивал слово «кнопки» и ожидая в выдаче пост «Кнопки социальных сетей«, получал посты имеющие отношения к этим кнопкам лишь косвенное, просто потому что упоминал их в этих постах.

Все бы ничего, но функцию эту разработчики установили по умолчанию и в опциях плагина этого не исправить. Решение нашлось довольно быстро. После нескольких часов поисков необходимой функции в файлах плагина, я таки решил связаться с разработчиками, которые дали мне решение.

Итак, если вы хотите просто релевантный поиск на сайте, тогда открываем в редакторе файл php/sphinxsearch_frontend.php. Именно в этом файле указан режим по умолчанию. Находим строчку $sphinx->SetSortMode(SPH_SORT_TIME_SEGMENTS, ‘date_added’); и меняем в ней date_added на relevance.

Затем в файлах шаблона (templates/sphinx_search_bar.htm; templates/sphinx_search_panel.htm; widgets/search-sidebar.php) ставим опцию relevance по умолчанию тегом checked=»checked». Примерно вот так:

<input type="radio" id="search_sortby_rel" name="search_sortby" value="relevance"
<?php echo $search_sortby_relevance; ?> checked="checked" /><label for="search_sortby_rel">Relevance</label>

После этих не многочисленных операций поиск будет работать как «швейцарские часы» :). Надеюсь посетители сайта будут пользоваться этим поиском чаще, чем googl’овским.

Удачи Вам друзья и релевантного поиска!

Сладкое на сегодня: очередной рекламный ролик с юморцой. Да уж, пропажа пива из холодильника — это ужас :). Наслаждайтесь.

Комментарии

8 на запись "Релевантный поиск на wordpress с помощью Sphinx"
  1. Леша says:

    А я вот впервые слышу об этом поисковике. Идея очень понравилась — сделать «собственный» поисковик для блога.

  2. «открыв тикет в биллинг системе моего хостинга» — это сильно. Особенно для новичков, как я ))) А за плагин и описание настроек спасибо. Надо попробовать.

    • Snapshot says:

      Тикет — это внутренняя система сообщений, напоминает гостевую книгу, но эти сообщения никому не доступны кроме вас лично и администраторами сайтов, где эта система имеется. Через нее делаются запросы, в том числе в Fastтех.поддержку.
      А биллинг — это вроде как страница оплаты, но в FastVPS она больше напоминает личный кабинет с различными функциями.

      Плагин конечно попробуйте, нагрузка на сервер минимальна, а поиск просто великолепен.

  3. Аноним says:

    Надо пробовать. 
    Настройка описана подробная, осталось установить и испытать. 
    Спасибо за плагин.

  4. Релевантность поиска — это очень важно! Наверное это хороший плагин. Хотя я еще знаю, что можно использовать поиск от ЯНдекса на своем блоге:)

  5. Доброго дня.  Не получается настроить плагин 
    Выдает :
    Installation: Sphinx installation error, try to run this command manually in Terminal:
    Command: ./configure —with-mysql —prefix=/home/www/мойсайт.com/wp-content/uploads/sphinx 2>&1 at the directory:/home/www/мойсайт.com/wp-content/uploads/sphinx/sphinx-0.9.9
    try running it with sudo if it doesn’t work
    Запускал это , выдало :

    checking build environment—————————checking for a BSD-compatible install… /usr/bin/install -cchecking whether build environment is sane… yeschecking for a thread-safe mkdir -p… /bin/mkdir -pchecking for gawk… nochecking for mawk… mawkchecking whether make sets $(MAKE)… nochecking whether to enable maintainer-specific portions of Makefiles… nochecking for compiler programs——————————checking whether to compile debug version… nochecking for gcc… nochecking for cc… nochecking for cl.exe… noconfigure: error: no acceptable C compiler found in $PATHSee `config.log’ for more details.Что не так?

    • Боюсь я не смогу Вам помочь. Обратитесь к хостеру, адекватные должны помочь установить сфинкса. Мне мои помогли.

    • Alexey Vinogradov says:

      Очевидно, Сфинкс попытался собраться из исходников, а у вас нет соответствующего тулчейна (компилятор, линкер и т.д.) для этого.

      Либо возьмите готовый бинарь, либо сперва поставьте тулчейн.

      (А вообще, смотрю я на это — блин, 0.9.9 — это ужасно старая версия. Мы её уже не поддерживаем. Если найдётся критическая ошибка — решением номер раз будет переход на свежую версию)

Спасибо, что оставили свой комментарий

banner