Восемь лет спустя
kv75
дневник заведен 05-10-2003
постоянные читатели [82]
закладки:
цитатник:
дневник:
местожительство:
Москва, Россия
интересы [13]
шахматы, грибы, Пратчетт, Иваси, Morrowind, Guild Wars
[1] 08-05-2008 07:37
Альпы

[Print]
Элизабет
20-06-2006 22:48 Счастье
Первая причина счастья заключается в том, что мне удалось обнаружить существенную недоработку в описании MySQL. Сейчас я приведу тот кусок, который я имею в виду.

Boolean full-text searches have these characteristics:
<...>
They can work even without a FULLTEXT index, although a search executed in this fashion would be quite slow.


Имеется некий сайт, который мне выпало разрабатывать. Сайт на немецком, находится у какого-то немецкого провайдера. При выборе провайдера я специально ставил условие наличия MySQL 4.1 (нормальной пятой тогда ещё не было) и PHP 5, чтобы сайт нормально работал с юникодом. Наши немцы где-то нашли такого провайдера. Правда, какая именно версия MySQL 4.1 там стоит, я уже забыл, а это может иметь значение.

В общем, спроектировал я БД, сделал CMS и Front-end. На время заполнения базы я не стал формировать там полнотекстовые индексы, чтобы не замедлять процесс занесения данных, тем более что объёмы там были не очень существенные, и "логический" полнотекстовый поиск достаточно быстро работал и без индексов.

И вот некоторое время назад обнаружилось, что поисковые запросы, содержащие в себе символы с диакритическими знаками (или, говоря более строго, любые символы, кроме основной латиницы), обрабатываются сервером абсолютно некорректно: ищется только та часть слова, которая находится после последнего из "диакритических символов". Я долго пытался понять, в чём дело, пока не убедился, что моя программа на PHP в этом не виновата. Тогда у меня остался единственный вариант: создать соответствующие полнотекстовые индексы. И вот после этого всё заработало корректно.

В общем, я не знаю, глюк это MySQL вообще, только версии 4.1 или её достаточно ранних подверсий, но факт остаётся фактом: в данной версии MySQL полнотекстовый поиск без наличия соответствующих полнотекстовых индексов корректно работает только с символами основной латиницы (однобайтовыми символами кодировки UTF-8).

Вторая причина моего счастья заключается в том, что я сегодня проверил и убедился: клиентская библиотека версии MySQL 4.1 прекрасно (в рамках необходимого) работает с сервером MySQL 5.0. А это значит, что нет необходимости переписывать компоненты и перекомпилировать мои программы, чтобы они могли работать с современной версией MySQL.
Комментарии:
Хеффалумп
Как я тебя понимаю!
Освещающий путь...

Ваш комментарий:
Камрад:
Гость []
Комментарий:
[смайлики сайта]
Дополнительно:
Автоматическое распознавание URL
Не преобразовывать смайлики
Cкрыть комментарий
Закрыть