Модернизация поиска по блогу

Почитав отзывы в анкете, увидел несколько жалоб на поиск по блогу. Решил немного обновить. Надеюсь так будет удобнее.

Временно отключил Search Unleashed — какой то глюк в нем произошел и он перестал нормально искать. Буду разбираться. Поставил сейчас Search Everything, но он иногда сильно грузит базу т.к. в настройках выбран также поиск по комментариям (запросы бывают до 30секунд).

Под шапку блога добавил форму поиска Google, а на результаты поиска в Гугле добавил форму обычного поиска, если гугл вдруг не проиндексировал страницу.

Вот еще бы вытащить из строки запроса гугла текст запроса и сразу вставить его в форму обычного поиска…

P.S. забыл добавить что если окно поиска выглядит не так как на скриншоте — нажмите Ctrl+F5 для обновления стилей в кэше браузера

9 комментариев

Умный поиск в WordPress. Плагин Search Unleashed

Нашел сегодня у Sonika статью по поводу поиска в WordPress. Понравился плагин Search Unleashed и я его русифицировал.

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

ОБНОВЛЕНО 2008-04-14: новая версия 0.2.16.

  • С версии 0.2.12 не изменилось ничего, только исправили баги.
  • Внес некоторые исправления: добавил определение Яндекс.Блоги и Google.Blogsearch, изменил структуру базы данных, т.к. в оригинальной версии при длинных реферерах или очень длинных поисковых запросах на странице блога выдавало ошибки превышения длины поля. Для тех кому интересно заменил в двух местах varchar(100) на longtext
  • Изменил немного декодирование запросов через Яндекс (при обычном поиске там идет запрос в utf8, а в Яндекс.Блоги cp1251) чтобы определялись слова корректно
  • Также заметил что если плагин ставится не в первый раз на блог, то при деактивации и повторной активации не создаются таблицы для поиска. Этот баг присутствует в версиях 0.2.8 и новее.

Исправляется баг в базе двумя способами:

  1.  Установить версию 0.2.2 и после активации и индексации заменить ее новой версией
  2. Вручную в базе данных создать две таблицы через sql запрос в phpmyadmin
CREATE TABLE IF NOT EXISTS ВАШПРЕФИКС_search (
`post_id` int(11) unsigned NOT NULL,
`comment_id` int(10) unsigned NOT NULL default '0',
`content` text,
`priority` text,
PRIMARY KEY  (`post_id`,`comment_id`),
FULLTEXT KEY `content` (`content`,`priority`)
) ENGINE=MyISAM CHARSET=utf8
CREATE TABLE IF NOT EXISTS ВАШПРЕФИКС_search_phrases (
`id` int(11) unsigned NOT NULL auto_increment,
`phrase` longtext NOT NULL default '',
`ip` int(10) unsigned NOT NULL,
`searched_at` datetime NOT NULL,
`referrer` longtext default NULL,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM CHARSET=utf8

где ВАШПРЕФИКС_ нужно заменить например на префикс, который прописан у вас в конфигурации WordPress. Обычно это wp_ 

Также добавил идентификацию поиска через

  • Mail.ru
  • Aport
  • Rambler
  • Yahoo
  • Webalta
  • Google.Blogsearch (добавил в 0.2.11)
  • Яндекс.Блоги (добавил в 0.2.11)

Скачать

ZIP
Полная русская исправленная версия 0.2.16

 Скачали 5870 раз

Ссылки на старые версии удалены
архив версии 0.2.2 (для решения проблемы с базой)
для чего — см. выше
Официальная страница плагина

102 комментария