При попытке искать на русском (русское слово в поле формы поиска) и нажатии кнопки "Search" Друпаленыш ничего не находит
и выдает сообщение:
* warning: htmlspecialchars() [function.htmlspecialchars]: Invalid multibyte sequence in argument in C:\Work\www\drupal\includes\bootstrap.inc on line 857.
* user warning: in C:\Work\www\drupal\modules\dblog\dblog.module on line 147.
* You must include at least one positive keyword with 3 characters or more.
* warning: htmlspecialchars() [function.htmlspecialchars]: Invalid multibyte sequence in argument in C:\Work\www\drupal\includes\bootstrap.inc on line 857.
* user warning: in C:\Work\www\drupal\modules\dblog\dblog.module on line 147.
* You must include at least one positive keyword with 3 characters or more.
* warning: htmlspecialchars() [function.htmlspecialchars]: Invalid multibyte sequence in argument in C:\Work\www\drupal\includes\bootstrap.inc on line 857.
rustemmer поставил по инструкции, сайт периндексировал - та же ситуация.
Нужна идея, в какую сторону дальше копать.
Прошу помощи. Пожалуйста.
Комментарии
rustemmer юзал неделю - снес! У меня он не работал нормально. По некоторым поисковым запросам, сайт белую страницу показывал.
Sphinxsearch
Сервер под Виндой ( Демонов запустить - никак.
Патч там только подсвечивает результаты поиска, без чего прекрасно можно обойтись
McErr, php-mbstring стоит?
[PHP_MBSTRING]
extension=php_mbstring.dll
Есть такое
да знаю я![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Прекрасно-не прекрасно, а без патча модуль абы что подсвечивает.
http://ru.wikipedia.org/wiki/Cygwin ?
А виртуалка?
Да это и не главная проблема. Будет ли у вас сфинкс на хостинге?
Не будет (.
Пока ничего не получается.
дак и что нормального поиска под друпал нету?![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Кажеца я решил проблему. Отключил dblog и заменил в bootstrap.inc:
<?phpfunction check_plain($text)
{
if(drupal_validate_utf8($text)==TRUE)
{
return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
}
else
{
return htmlspecialchars('');
}
}?>
Коряво, но работает и ошибок не кажет![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
P.S.: я PHP не знаю, поэтому на всякий пожарный переместил функцию drupal_validate_utf8 выше check_plain.
P.P.S: хостинг под виндой, Drupal 7
ставьте Solr/Sphinxsearch будет Вам нормальный поиск.
А вот этого делать не стоило.
Solr какбэ только 5.x-1.x-dev
Sphinx тоже не катит - хостинг же...
А что делать-то, никто ж не говорит)
Поставил и настроил Sphinxsearch, сразу возникло кучу проблем с выдачей в поиске частей закрытых от пользователей материалов![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
А индексирует он все ноды ![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Нету в Sphinxsearch проверки может пользователь смотреть данный материал или нет
заюзал снова! Все работает! Правда пришлось патчить модуль search, думаю это того стоит!
http://drupal.org/project/apachesolr
Так у меня не Apache, а IIS, и к тому же на хостинге за 50 рублей)
Слово Apache здесь является лишь принадлежностью к Apache Software Foundation.
Тогда только rustemmer. Но вы же спрашивали про нормальный поиск
Сей модуль вообще в заброшенном состоянии, причем автор модуля не отдает его никому на развитие (наверно ЧСВ мешает). Как-то начинал писать модуль для сфинкса под SearchAPI для семерки, но времени как всегда... Если вы на семерке, то попробуйте связку Solr + SearchAPI
Неа, я на 6-ке...
А модуль кривой ага, коннект к сфинксу через сокет ручками делал по примеру старших братьев по разуму
А что за модуль такой?
http://drupal.org/project/sphinx
Ставьте Solr, отлично работает, соблюдает права, можно еще руками указывать, какие типы контента нельзя выдавать в результаты поиска, ну и темизировать можно как обычно.
p.s. Правда, для этого нужен вам VDS, сервер ну или хостинг, на котором Solr можно завести. Я такие видел, гуглите что-то типа "установка Solr на хостинге" - где найдется инструкция по установке, тот и кандидат
И ваще, не экономьте на хостинге для Друпала, это моветон ![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
он ещё кривее
Модуль Sphinxsearch патруль сейчас расплямляет
Зато сам модуль Sphinxsearch не прёт последнюю версию апи
именно так
Просто автору модуля наверное некогда. Альтернативы больше по идее и нету никакой? Стандартный друпаловский модуль seach = унылое гавно
Есть еще варианты?
1) Apache Solr - есть модули, пашет отлично![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
2) Яндекс.Сервер - нет модулей, нужно курить мануалы и делать вывод через XML (если надо темизировать страницу поиска), или делать вывод через стандартную страницу поиска Яндекс.Сервера; ищет еще лучше чем Solr, всетки русский язык для Яндекс.Сервера родной![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Поиск (практически любой) не работает под iis при включенных чистых ссылках! Дело в том, что введенная пользователем фраза по-русски заталкивается в url. А реврайт модуль iis делает с ней что-то нехорошее, и на страницу она попадает кракозяблами (если ей еще удается проскочить check_plan). Апач умеет ее в utf-8 пересылать.
Ура! Нашел!
Чтоб это побороть, надо в web.config, в правило реврайта добавить UrlEncode:
Было:
<action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
Стало:
<action type="Rewrite" url="index.php?q={UrlEncode:{R:1}}" appendQueryString="true" />