Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Индексация (tx_indexedsearch) (http://forum.typo3.ru/showthread.php?t=1798)

garik 12.09.2006 18:38

Индексация (tx_indexedsearch)
 
Накопилось несколько вопросов по данному плагину. Plugin tx_indexedsearch (версия 2.9.0 + ch_is_templates 1.1.13) выводит максимум 20 найденных совпадений. Листалка по страницам, которая выводится маркерами ###BORWSEBOX1### и ###BORWSEBOX2### почему-то не работает.
Первый вопрос почему? и как сделать неограниченный вывод списка совпадений:)

Второй вопрос: по некоторым словам плагин ищет страницы, но в описании, где должно быть чтото вроде "...текст текст найденное слово текст текст..." он выводит текст из нижней части шаблона , а не контента...

и вобще есть ли альтернатива этому плагину, т.е. использование других плагинов поиска.:cool:

garik 26.09.2006 14:15

Понятно, листалка не работала из за ch_is_templates, снёс ее и всё заработало.
tx_indexedsearch 2.9.0 на первый взгляд работает нормально...но он часто находит страницы по словам которых там нет (как например из трех букв :) х**, или строку ываыавыаыаыа)...причем показывает, что находит слова на всех страницах сайта...такая тенденция наблюдается с русскими словами..с английскими все в порядке.

Valery Romanchev 26.09.2006 17:28

Цитата:

Сообщение от garik
Понятно, листалка не работала из за ch_is_templates, снёс ее и всё заработало.
tx_indexedsearch 2.9.0 на первый взгляд работает нормально...но он часто находит страницы по словам которых там нет (как например из трех букв :) х**, или строку ываыавыаыаыа)...причем показывает, что находит слова на всех страницах сайта...такая тенденция наблюдается с русскими словами..с английскими все в порядке.

скорее всего дело в кодировке MySQL и настроке typo3
Чтобы все было ОК:
1) MySQL 4.x c кодировкой utf8 для базы
2) TYPO3 force charset utf-8
3) настройки в localconf.php см в FAQ на этом форуме

Цитата:

Второй вопрос: по некоторым словам плагин ищет страницы, но в описании, где должно быть чтото вроде "...текст текст найденное слово текст текст..." он выводит текст из нижней части шаблона , а не контента...
Ага - есть такое.
Это явный баг - фунция отвечающая за вывод различает "путин" и "Путин", а функция поиска - их не различает.
Я попробую это пропатчить.

Цитата:

и вобще есть ли альтернатива этому плагину, т.е. использование других плагинов поиска.
нормальной альтернативы нет.
Для поиска в новостях можно использовать сам новостной плагин.
Для отдельных экстеншенов - можно использовать другие плагины.
Но для общесайтового поиска - index search - помоему лучший вариант

Valery Romanchev 01.10.2006 19:08

вот патч чтобы подвечивать слова правильно
файл pi/class.tx_indexedsearch.php

Цитата:

function markupSWpartsOfString($str) {

// Init:
$str = str_replace(' ',' ',t3lib_parsehtml::bidir_htmlspecialchars($str,-1));
$str = preg_replace('/\s\s+/',' ',$str);
$swForReg = array();

// Prepare search words for regex:
foreach ($this->sWArr as $d) {
$swForReg[] = preg_quote($d['sword'],'/');
//patch
$sword_low= mb_convert_case($d['sword'], MB_CASE_LOWER , "UTF-8");
$sword_up_first= mb_convert_case($d['sword'], MB_CASE_TITLE, "UTF-8");
$sword_up_all= mb_convert_case($d['sword'], MB_CASE_UPPER, "UTF-8");
if ($sword_low<> $d['sword']) $swForReg[] = preg_quote($sword_low,'/');
if ($sword_up_first<> $d['sword']) $swForReg[] = preg_quote($sword_up_first,'/');
if ($sword_up_all<> $d['sword']) $swForReg[] = preg_quote($sword_up_all,'/');
// end patch

.....



Часовой пояс GMT +4, время: 06:39.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot