Умный поиск в 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 и новее.
Исправляется баг в базе двумя способами:
- Установить версию 0.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)
Скачать

Полная русская исправленная версия 0.2.16
Скачали 4034 раз
Ссылки на старые версии удалены
архив версии 0.2.2 (для решения проблемы с базой)
для чего – см. выше
Связанные записи
97 комментариев
Страницы: « 1 2 3 4 [5] Show All
Трэкбеки и пингбеки
Страницы: « 1 2 3 4 [5] Show All
Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!

(голосов: 13, средний: 4.08 из 5)

9 апреля 2008 в 13:29 (GMT+6)
исправить кодировку в базе и/или на сервере настроить utf-8 – в поиск по комментам. сто раз было
2 мая 2008 в 15:32 (GMT+6)
Вот там где “ваш префикс”, который по умолчанию WP_ есть ли возможность дополнительно добавить еще префикс установленного еще в это же базе например форума? Если можно, то как синтаксис прописать?
2 мая 2008 в 16:53 (GMT+6)
не совсем понял. а СМЫСЛ?
2 мая 2008 в 17:06 (GMT+6)
Смысл в том например, чтобы поиск осуществлялся по всему проекту, включающему как WP, так и другие компоненты (напрямую например не связанные с WP, но установленные в ту же базу). Конечно, в движке форума есть свой поиск, но обычному юзверю хочется на ресурсе поискать все в одном флаконе, а не дергаться выискивая знакомые слова отдельно в блоге, отдельно в форуме.
Насколько я понял, делается индекс контента, используя префикс, так вот указам еще префикс в этой же базе, можно было бы в индекс взять и посты форума, и может быть другой блог, установленный в эту же базу. Ну извращений с базами может быть много, и было бы удобно, весь домен например иметь в выдаче.
2 мая 2008 в 17:21 (GMT+6)
нт не совсем так. если вы покопаетесь в плагине то увидите что он копаться умеете ТОЛЬКО в таблицах ВП. если конечно вы модифицируете плагин то может он и будет работать с форумом
11 мая 2008 в 15:36 (GMT+6)
Не могу справится с Search Unleashed.
1. Индексирует и ломет шрифт
[url=http://radikal.ru/F/i049.radikal.ru/0805/0d/77bd5afbed03.jpg.html][img]http://i049.radikal.ru/0805/0d/77bd5afbed03t.jpg[/img][/url]. База данных вся в UTF-8[url=http://radikal.ru/F/i024.radikal.ru/0805/31/f534677695de.jpg.html][img]http://i024.radikal.ru/0805/31/f534677695det.jpg[/img][/url]2. Индексирует только первые 20 постов, а их больше.
WP 2.5.1
19 июня 2008 в 17:01 (GMT+6)
Хороший примерчик. Правда чето я с кодировкой долго парился
17 июля 2008 в 8:40 (GMT+6)
Хорошая штука!
29 ноября 2008 в 6:00 (GMT+6)
Хороший плагин :)
Вы его в поверпак не планируете включить?
9 февраля 2009 в 18:39 (GMT+6)
Последнюю сборка этого плагина с добавленными русскими поисковиками, как у автора этого блога, можно взять .
Делал для себя, прошу не считать плагиатом.
26 февраля 2009 в 16:07 (GMT+6)
Как сделать, чтобы поиск выдавал только те страницы, на которых есть именно все слова заданные в запросе, а не все подряд страницы, на которых встречается хотя бы одно слово из запроса? И можно сделать так, чтобы первыми выдавались страницы с максимальным количеством запрашиваемых слов, а не по дате их создания?
26 февраля 2009 в 22:32 (GMT+6)
Согласен, таже проблема =\
Артур, если найдешь решение, отпишись пожалуйста :)
7 сентября 2009 в 0:23 (GMT+6)
Здравствуйте.
Плагин работает, но он что-то конфликтует с Wordtube.
При отображении результата поиска вместо плеера отображается надпись: Скачать Flash Player чтобы увидеть wordTube медиа проигрыватель.
У меня 90% сайта состоит из медиафайлов..
Как решить эту проблему?
29 сентября 2009 в 16:45 (GMT+6)
Вот такая ошибка постоянно приследует ,допустим при индексации и выдаче результатов поиска
Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, ‘searchnggallerytags’ was given in /home/elgrou/public_html/wp-includes/plugin.php on line 166
В чем может быть проблема?
15 января 2010 в 4:06 (GMT+6)
Скажите, плз, для чего в этом плагине столько текстовых доменов:
default
redirection
search-unleased
search-unleashed
например, файло models/pager.php:404
$previous = __ ('Previous', 'redirection');$next = __ ('Next', 'redirection');
19 марта 2010 в 19:30 (GMT+6)
Блин, честное слово поставил плагин и снес. Этот плагин фигачет большие пробелы между текстом и их заголовком.
23 марта 2010 в 21:08 (GMT+6)
А у меня при индексации сразу ошибка вылезла: fatal eroror: Call to undefined method SearchSpider::_weak_escape() in Z:\home\cms1\www\wp-includes\wp-db.php on line 515
Как с ней справиться?
24 января 2012 в 22:09 (GMT+6)
если вводить в поиск слово Автошампунь и автошампунь (регистр верхний и нижний) то результаты будут разные. В общем не выдает ту инфо.