Всем доброго дня )
tagcloud почему-то игнорирует кириллицу, таким образом, в облако тэгов попадают только слова на латинице...
Это как-то борется, или он вообще кириллицу не умеет?
Еще вопрос по поиску: {search} принципиально не умеет wildcards а также не до конца введенные слова? У меня ищет только точные вхождения, т.е. если к примеру ввести в поиске "бухгалтер", то такие вхождения как "бухгалтерия", "бухгалтеры" и т.п. не будут найдены. ::)
[Solved] Search (Поиск) и tagcloud - облако только из слов на латин&
[Solved] Search (Поиск) и tagcloud - облако только из слов на латин&
Last edited by ilia3d on Sat May 23, 2009 4:37 pm, edited 1 time in total.
Re: Search (Поиск) и tagcloud - облако только из слов на латини
Надо в action.dosearch.php
$ary[] = "word = " . $db->qstr($word);
заменить на
$ary[] = "word LIKE '%" . $db->qstr($word) . "%'";
(сам не пробовал)
Для английского работает stemmer, а для русского чтобы куски слов искать надо LIKE использовать.
Про облако тегов ничего не могу сказать - не пользовался.
$ary[] = "word = " . $db->qstr($word);
заменить на
$ary[] = "word LIKE '%" . $db->qstr($word) . "%'";
(сам не пробовал)
Для английского работает stemmer, а для русского чтобы куски слов искать надо LIKE использовать.
Про облако тегов ничего не могу сказать - не пользовался.
unsigned double ZYV;
Re: Search (Поиск) и tagcloud - облако только из слов на латини
Попробовал, к сожалению ничего не изменилось.ZYV wrote: Надо в action.dosearch.php
$ary[] = "word = " . $db->qstr($word);
заменить на
$ary[] = "word LIKE '%" . $db->qstr($word) . "%'";
(сам не пробовал)
Для английского работает stemmer, а для русского чтобы куски слов искать надо LIKE использовать.
Про облако тегов ничего не могу сказать - не пользовался.

Re: Search (Поиск) и tagcloud - облако только из слов на латини
Хммм, ну надо разбираться, мне некогда. Смотри в phpMyAdmin какие слова в индексе, и возьми запрос из дебаг-режима, который с LIKE получился, проверяй как работает. Идею я подсказал.
unsigned double ZYV;
Re: Search (Поиск) и tagcloud - облако только из слов на латини
все оказалось намного проще... все глюки с поиском были из-за кодировки 1251.ZYV wrote: Хммм, ну надо разбираться, мне некогда. Смотри в phpMyAdmin какие слова в индексе, и возьми запрос из дебаг-режима, который с LIKE получился, проверяй как работает. Идею я подсказал.
Переконвертировал базу в UTF8, раскомментил строчку в action.dosearch.php
Code: Select all
$ary[] = "word = " . $db->qstr(htmlentities($word, ENT_COMPAT, 'UTF-8'));
Re: [Solved] Search (Поиск) и tagcloud - облако только из слов на лати
Совершенно не ясно, как это могло решить проблему для частей слов, если qstr() не использует LIKE (нет времени проверять), т.к. mySQL сравнивает при = всё слово целиком, чтобы смотреть вхождение части надо использовать запрос типа LIKE '%вод%' (для воды, проводов и водителя), но факт в том, что однобайтные кодировки должны гореть в аду...
А те, кто ими до сих пор пользуется крупно рискует
А те, кто ими до сих пор пользуется крупно рискует

unsigned double ZYV;
Re: [Solved] Search (Поиск) и tagcloud - облако только из слов на лати
мне тоже совершенно неясно, но работает и по частям слов, я проверял.ZYV wrote: Совершенно не ясно, как это могло решить проблему для частей слов, если qstr() не использует LIKE (нет времени проверять), т.к. mySQL сравнивает при = всё слово целиком, чтобы смотреть вхождение части надо использовать запрос типа LIKE '%вод%' (для воды, проводов и водителя), но факт в том, что однобайтные кодировки должны гореть в аду...
А те, кто ими до сих пор пользуется крупно рискует![]()
Re: [Solved] Search (Поиск) и tagcloud - облако только из слов на лати
Я тебе верю, просто удивительно. Эх, пройдут наконец когда-нибудь эти авралы или нет... интересно в исходниках посмотреть почему-так.
unsigned double ZYV;