Тема: Поиск
Показать сообщение отдельно
Старый 11.01.2004, 16:26   #5
Perignator Temporis
Senior Member
 
Регистрация: 10.02.2004
Сообщений: 114
По умолчанию

Хм.. И что, при этом индексирует русские слова?

А мне пришлось руками лезть в код класса tx_indexedsearch_indexer, там править массив $convChars - заполнять русскими буквами. Но и это еще не все: в коде я встретил следующую строку:

if ($this->wordOK($chars, $w)) {$matches[]=$w;}

То есть, слова добавлялись в индекс тогда, когда того разрешит функция wordOK.

Эта же функция делала следующее: она проверяла rawurlencode слова, после чего смотрела, чтобы процент \"закодированных\" символов был не более 30%. Естественно, для русского слова этот процент равнялся 100 (все буквы кодировались) и, естетсвенно, никакого OK не получалось и слово в индекс не попадало.
Я до сих пор нахожусь в раздумьи: отключить и такую проверку вообще или же сделать так, как я сделал сейчас, а именно: делаю rawurlencode только тех символов, которых нет в массиве $convChars и потом все же проверяд на эти злополучные 30%.

Может есть у кого мысли о целесообразности этой проверки? Отчего-то мне кажется, что производительности страдает от такого цикла при индексировании..
Нужно ли это?

Зато поиск работает
Perignator Temporis вне форума   Ответить с цитированием