Поиск на русском языке

Главные вкладки

Аватар пользователя McErr McErr 28 сентября 2010 в 19:08

При попытке искать на русском (русское слово в поле формы поиска) и нажатии кнопки "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.

rustemmer поставил по инструкции, сайт периндексировал - та же ситуация.
Нужна идея, в какую сторону дальше копать.
Прошу помощи. Пожалуйста.

Комментарии

Аватар пользователя tolykot tolykot 28 сентября 2010 в 19:13

rustemmer юзал неделю - снес! У меня он не работал нормально. По некоторым поисковым запросам, сайт белую страницу показывал.

Аватар пользователя graker graker 28 сентября 2010 в 23:39

tolykot wrote:
rustemmer юзал неделю - снес! У меня он не работал нормально. По некоторым поисковым запросам, сайт белую страницу показывал.
Там помимо стеммера неплохо патч еще прилагающийся поставить, у меня норм работает.

Аватар пользователя Azerot Azerot 29 сентября 2010 в 8:21

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

McErr, php-mbstring стоит?

Аватар пользователя @nt1g0p.L_c @nt1g0p.L_c 22 марта 2011 в 15:48

Кажеца я решил проблему. Отключил dblog и заменил в bootstrap.inc:

<?phpfunction check_plain($text) 
{
 if(drupal_validate_utf8($text)==TRUE)
  {
     return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
  }
 else
  {
   return htmlspecialchars('');
  }
}?>

Коряво, но работает и ошибок не кажет Smile
P.S.: я PHP не знаю, поэтому на всякий пожарный переместил функцию drupal_validate_utf8 выше check_plain.
P.P.S: хостинг под виндой, Drupal 7

Аватар пользователя vgoodvin vgoodvin 22 марта 2011 в 16:39

"Mascher" wrote:
дак и что нормального поиска под друпал нету? Smile

ставьте Solr/Sphinxsearch будет Вам нормальный поиск.

"[user=nt1g0p wrote:
nt1g0p[/user].L_c"]заменил в bootstrap.inc:

А вот этого делать не стоило.

Аватар пользователя @nt1g0p.L_c @nt1g0p.L_c 25 марта 2011 в 19:41

vgoodvin wrote:

ставьте Solr/Sphinxsearch

Solr какбэ только 5.x-1.x-dev
Sphinx тоже не катит - хостинг же...
vgoodvin wrote:

А вот этого делать не стоило.

А что делать-то, никто ж не говорит)

Аватар пользователя Mascher Mascher 1 июня 2011 в 11:33

vgoodvin wrote:
"Mascher" wrote:
дак и что нормального поиска под друпал нету? Smile

ставьте Solr/Sphinxsearch будет Вам нормальный поиск.

Поставил и настроил Sphinxsearch, сразу возникло кучу проблем с выдачей в поиске частей закрытых от пользователей материалов Smile
Нету в Sphinxsearch проверки может пользователь смотреть данный материал или нет Smile А индексирует он все ноды Smile

Аватар пользователя tolykot tolykot 22 марта 2011 в 21:01

"graker" wrote:
tolykot написал(а):

rustemmer юзал неделю - снес! У меня он не работал нормально. По некоторым поисковым запросам, сайт белую страницу показывал.

Там помимо стеммера неплохо патч еще прилагающийся поставить, у меня норм работает.


заюзал снова! Все работает! Правда пришлось патчить модуль search, думаю это того стоит!

Аватар пользователя vgoodvin vgoodvin 27 марта 2011 в 11:25

"[user=nt1g0p wrote:
nt1g0p[/user].L_c"]Так у меня не Apache, а IIS

Слово Apache здесь является лишь принадлежностью к Apache Software Foundation.
"[user=nt1g0p wrote:
nt1g0p[/user].L_c"]и к тому же на хостинге за 50 рублей)

Тогда только rustemmer. Но вы же спрашивали про нормальный поиск Smile Хотя наверно и рустеммера часто хватает.

Аватар пользователя vgoodvin vgoodvin 2 июня 2011 в 11:42

"Mascher" wrote:
Поставил и настроил Sphinxsearch, сразу возникло кучу проблем с выдачей в поиске частей закрытых от пользователей материалов Smile
Нету в Sphinxsearch проверки может пользователь смотреть данный материал или нет Smile А индексирует он все ноды :)

Сей модуль вообще в заброшенном состоянии, причем автор модуля не отдает его никому на развитие (наверно ЧСВ мешает). Как-то начинал писать модуль для сфинкса под SearchAPI для семерки, но времени как всегда... Если вы на семерке, то попробуйте связку Solr + SearchAPI

Аватар пользователя Mascher Mascher 2 июня 2011 в 17:09

vgoodvin wrote:
Сей модуль вообще в заброшенном состоянии, причем автор модуля не отдает его никому на развитие (наверно ЧСВ мешает). Как-то начинал писать модуль для сфинкса под SearchAPI для семерки, но времени как всегда... Если вы на семерке, то попробуйте связку Solr + SearchAPI

Неа, я на 6-ке...
А модуль кривой ага, коннект к сфинксу через сокет ручками делал по примеру старших братьев по разуму Smile

А что за модуль такой?

http://drupal.org/project/sphinx

Аватар пользователя marazmus marazmus 2 июня 2011 в 17:22

Ставьте Solr, отлично работает, соблюдает права, можно еще руками указывать, какие типы контента нельзя выдавать в результаты поиска, ну и темизировать можно как обычно.

p.s. Правда, для этого нужен вам VDS, сервер ну или хостинг, на котором Solr можно завести. Я такие видел, гуглите что-то типа "установка Solr на хостинге" - где найдется инструкция по установке, тот и кандидат Smile И ваще, не экономьте на хостинге для Друпала, это моветон Smile

Аватар пользователя vgoodvin vgoodvin 6 июня 2011 в 14:19

"Mascher" wrote:
А что за модуль такой?
http://drupal.org/project/sphinx[/quote]
А он вообще никак не работает, даже не запускается.

"Mascher" wrote:
А модуль кривой ага, коннект к сфинксу через сокет ручками делал по примеру старших братьев по разуму Smile

Кажись если скачать последнюю версию sphinxapi.php то сокеты должны работать сразу. Я по крайней мере делал ручные коннекты к сфинксу через сокеты без каких-либо плясок.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 6 июня 2011 в 16:59

"vgoodvin" wrote:
Кажись если скачать последнюю версию sphinxapi.php то сокеты должны работать сразу. Я по крайней мере делал ручные коннекты к сфинксу через сокеты без каких-либо плясок.

Зато сам модуль Sphinxsearch не прёт последнюю версию апи

Аватар пользователя Mascher Mascher 7 июня 2011 в 14:44

RxB wrote:
"vgoodvin" wrote:
Кажись если скачать последнюю версию sphinxapi.php то сокеты должны работать сразу. Я по крайней мере делал ручные коннекты к сфинксу через сокеты без каких-либо плясок.

Зато сам модуль Sphinxsearch не прёт последнюю версию апи

именно так Smile
Просто автору модуля наверное некогда. Альтернативы больше по идее и нету никакой? Стандартный друпаловский модуль seach = унылое гавно Smile
Есть еще варианты?

Аватар пользователя marazmus marazmus 7 июня 2011 в 21:33

"Mascher" wrote:
Есть еще варианты?

1) Apache Solr - есть модули, пашет отлично Smile

2) Яндекс.Сервер - нет модулей, нужно курить мануалы и делать вывод через XML (если надо темизировать страницу поиска), или делать вывод через стандартную страницу поиска Яндекс.Сервера; ищет еще лучше чем Solr, всетки русский язык для Яндекс.Сервера родной Smile

Аватар пользователя Vlabol Vlabol 30 августа 2011 в 14:04

Поиск (практически любой) не работает под iis при включенных чистых ссылках! Дело в том, что введенная пользователем фраза по-русски заталкивается в url. А реврайт модуль iis делает с ней что-то нехорошее, и на страницу она попадает кракозяблами (если ей еще удается проскочить check_plan). Апач умеет ее в utf-8 пересылать.

Аватар пользователя Vlabol Vlabol 30 ноября 2011 в 13:24

Ура! Нашел!

"Vlabol" wrote:
Поиск (практически любой) не работает под iis при включенных чистых ссылках! Дело в том, что введенная пользователем фраза по-русски заталкивается в url. А реврайт модуль iis делает с ней что-то нехорошее, и на страницу она попадает кракозяблами

Чтоб это побороть, надо в 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" />