форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Спасибо, заработало.
НО - добавление get_down() меняет результаты вывода для англ. текста: при несовпадении регистра выводится только ссылка, без куска подсвеченного текста. Т.е. так:
1) ищем «туберкулез» или «Туберкулёз» - находит независимо от регистра, с выводом подсвеченного текста.
2) ищем «Giedlin» - находит Giedlin с куском подсвеченного текста.
3) ищем «giedlin» или «GieDlin» - находит, но выводит только ссылку, без текста.
PS. т.е. добавление get_down() для прежнего варианта функции search_result_excerpt(), либо для нового варианта search_result_excerpt().
PPS. Странно, почему он вообще англ. текст трогает, вроде все замены должны происходить лишь с русскими буквами.
Отредактированно TAndrew (15-03-2006 11:43:58)
Неактивен
тоже возник вопрос по поиску.
Неожиданно столкнулся с тем, что поиск не ищет совпадения в excerpt
Вопрос, конечно, спорный в общем случае - должен ли текст из excerpt приниматься во внимание при поиске?
Но вот по моему замыслу - должен.
В связи с этим, вопрос - как это реализовать?
Неактивен
Решение для принудительного участие excerpt-ов в поиске есть.
Nicck написал:
Дорабатываем решение:
1. Изменённая строка для publish.phpКод:
$search = " and (replace(upper(Title),'Ё','Е') rlike replace(upper('$q'),'Ё','Е') or replace(upper(Body),'Ё','Е') rlike replace(upper('$q'),'Ё','Е')) $s_filter";
Еще раз дорабатываем решение, предложенное Nicck-ом
$search = " and (replace(upper(Title),'Ё','Е') rlike replace(upper('$q'),'Ё','Е') or replace(upper(Body),'Ё','Е') rlike replace(upper('$q'),'Ё','Е') or replace(upper(Excerpt),'Ё','Е') rlike replace(upper('$q'),'Ё','Е')) $s_filter";
Спасибо, Nicck! :-))
P.S. В результатах поиска в случае, если искомое слово найдено в excerpt? выводится только ссылка на статью
Отредактированно Evgeny (24-03-2006 11:20:13)
Неактивен
Пожалуйста.
Осталось дописать подсветку на случай "если искомое слово найдено в excerpt", для того чтоб выводились фрагменты из excerpt тоже, и собрать накопившиеся решения в один mod для txp 4.0.3.
Каминг сун
TAndrew написал:
...добавление get_down() меняет результаты вывода...
PS. т.е. добавление get_down() для прежнего варианта функции search_result_excerpt(), либо для нового варианта search_result_excerpt().
Функция get_down() не нужна более, причём давно. Внимательнее читаем всё обсуждение. Ну или дожидается обещанного мода для 4.0.3
Отредактированно Nicck (24-03-2006 14:11:08)
Неактивен
Если дойдут руки (и ноги :-)) до обещанного мода, то надо, наверно и с Й и И что-то аналогичное с Ё и Е делать.
Неактивен
Руки дошли. txp403search.zip
Изменения:
* textpattern 4.0.3
* отображение результатов поиска для латинского алфавита было регистрозависимо (сам поиск был регистронезависим)
* excerpt теперь тоже учавтсвует в поиске и отображается в результатах поиска перед результатами из body
* буквы 'ё' и 'й' теперь равны 'е' и 'и' (независимо от регистра опять же)
Появилась ещё мысль сделать это всё в виде плагина. Только естественно нужно будет использовать не родные тэги а аналогичные им, реализуемые в плагине. т.е. <txp:nck_if_search /> и <txp:nck_search_... />. С другой стороны установить плагин проще, да и с версиями txp проблем поубавится.
Вопрос простой: а оно надо, когда и так(с помощью мода) всё работает?
Неактивен
Nicck написал:
Появилась ещё мысль сделать это всё в виде плагина.
Это было бы здОрово!
Плагин можно было бы расширять независимо от версий ТП, с учетом особенностей националього поиска.
Например, столкнулся с тем, что люди ищут слово с дефисом, а оно в тексте присутствует без дефиса, ищут с кавычками, знаками пунктуации и т.п.
особенности есть, и в виде отдельного плагина их было бы проще внедрять.
P.S. Из собственного опыта. С удивлением обнаружил, что люди ОЧЕНЬ интенсивно используют поиск по сайту, в случае контентного проекта. Пришло понимание, что к поиску на сайте надо относится очень серьезно.
P.P.S. В случае появления этого плагина - включим его предустановленным в русскую сборку следующей версии ТП.
Неактивен
Ну как там с плагином?
Неактивен
А регистр-то не полностью игнорируется. В поиске по заголовку все ещ учитывается. В строке поиска приходится вводить все в нижнем регистре (иначе ничего не найдет).
Неактивен
Конечно, плагин - более чистое решение.
Неактивен
вопрос, а можно каким-либо образом заставить учавствовать в поиске костум-поля???
Неактивен
хех... вопрос снят, так как методом логических и неочень рассуждений нашёл выход
replace(upper(custom_1),'Ё','Е') rlike replace(upper('$q'),'Ё','Е'))
Неактивен
Evgeny написал:
любопытно эту версию проверить.
у меня на одном хостинге эта библиотека от 2002 года, на другом - 2003,
у знакомых на мастерхосте - ппх обрезанный, phpinfo() не работает.
еще у одних знакомых тоже 2003 года :-((
У кого-нибудь есть хостинг с более свежей библиотекой PCRE?
У меня в "денвере" аж от 2006 года. И все равно поиск регистрозависимый. Я просто изучаю сейчас варианты, можно ли что-то сделать, без хака. Выясняется, что все-таки в самом движке как-то не так реализовано, от хостинга не зависит. Что, кстати, и подтверждает поиск в phpMyAdmin, который выдаст на запрос Томск оба варианта: Томск и томский, идентично запросу томск. В отличие от поиска TxP, который на эти запросы выдаст всего один ответ.
Да и вообще непонятно, причем здесь может быть PCRE, ведь это аббревиатура от Perl Compatible Regular Expressions Support.
Покопаю еще... думаю, все-таки можно разобраться, наверняка тут какая-то не очень сложная проблема.
P.S. А вообще сейчас действительно внимательно прочитал, что предлагает Nicck, и понял, что с одной стороны, все наверно именно так и надо сделать, как он предлагает (а насчет й, и, ё, е так совершенно точно), но зато так и не понял...
Nicck написал:
1) При запросе к базе регистр учитывается.
... почему тогда английские слова выводятся независимо от регистра? Чем отличаются запросы с латинскими символами от русских?
Продолжаю думать :)
Отредактированно ТВЭЛ (23-01-2007 17:14:43)
Неактивен
Вебмастер, в сорцах копаться хуле?
По сайту поиск свой делай в Гугле!
(сори за слово, но из песни не выкинешь)
Неактивен
А ведь на форуме тоже регистрозависимый поиск. Полагаю, причины те же? Вот на Яндексе кое что нашел по запросу регистронезависимый && полнотекстовый && поиск && mysql && utf8.
P.S. Сайт punbb.ru просто реактивный! Как они этого добились, интересно? Может хостинг какой-то суперский?
P.P.S. Секрет прост - сайт хостится на площадке в моем городе :)
Отредактированно ТВЭЛ (24-01-2007 16:13:43)
Неактивен
ТВЭЛ написал:
P.S. Сайт punbb.ru просто реактивный! Как они этого добились, интересно? Может хостинг какой-то суперский?
Сделал tracert . Хостится он в г.Томске. Это сильно далеко от тебя? :-))
Неактивен
Ну что-ж, дальше время тратить больше не могу. Придется сдаваться Очень жаль. На будущее, если вдруг кто-то тоже захочет поискать решение проблемы, ниже даю несколько ссылок на ресурсы, показавшиеся мне наиболее адекватными теме. Хотя сколько я их просмотрел, жуть...
Кстати, со сходными проблемами встречались пользователи punBB, WP и Drupal. Вордпрессовцы просто переделывают все на cp1251, а как решили проблему пунббэйщики и н друпаловцы, я что-то не разобрался. Тем более, что у "Друпала", вообще, похоже другая реализация поиска.
Эх, так жалко, что ничего не вышло У меня уже и MySQL сервер настроен на работу с UTF-8 и ставил библиотеку mb_string, и добавлял модификаторы (/u) к запросам preg_* в коде, ставил зачем-то XAMMP. Что я только не делал. Все без толку. Нам остается лишь надеяться, что когда-то у разработчиков дойдут руки до реализации нормального поиска не только для англоговорящих пользователей.
http://live.julik.nl/2005/03/unicode-php
http://www.pcre.ru/docs/php/text/stdsyntax/
http://www.pcre.ru/docs/php/text/stdmod/
http://xpoint.ru/forums/programming/PHP … 8160.xhtml
http://www.softtime.ru/forum/read.php?i … theme=1991 (вообще очень толковый форум, наряду с xpoint.ru)
Может кто-то примет эстафету? Ужасно жалко потраченного впустую времени.
Неактивен
Ну просто хотелось сделать "по уму"... Твое решение все-таки как бы надстройка над поиском, костыль. Впрочем, я не специалист, конечно... поправь меня, если я не прав. Но очевидно лучше так чем никак, в любом случае спасибо тебе. Естественно буду пользоваться. Вот ты бы еще плагином это оформил, так вообще было бы прекрасно Думаю, пользователей было бы порядочно, ведь TxP набирает обороты и в Рунете.
Неактивен
А как на счет 4.0.4? "Костыль прикрутить не получается. Я конечно не спец по php. Может есть возможность?
Неактивен
Pho-No написал:
А как на счет 4.0.4?
_http://las.kiev.ua/file_download/4
Примного благодарен
Неактивен