Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
В таблицу search_wordlist попадают "недопустимые"
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 20 лет
В таблицу search_wordlist попадают "недопустимые"
Заметил, что уменя, в таблицу search_wordlist попадают "недопускаемые" слова, например: s, а, ....
Они запрещены для занесения в эту таблицу, имеется ввиду слова не более двух символов, но иногда, каким-то образом, туда пролазят
В чем причина, не понял
На хостинге, из русской локали, только KOI8, пробовал включать и выключать ее, не помогло
search.php проверил, все OK, менял заведомо исправный - из дистрибутива, не помогло
Куда еще ткнуться?
Они запрещены для занесения в эту таблицу, имеется ввиду слова не более двух символов, но иногда, каким-то образом, туда пролазят
В чем причина, не понял
На хостинге, из русской локали, только KOI8, пробовал включать и выключать ее, не помогло
search.php проверил, все OK, менял заведомо исправный - из дистрибутива, не помогло
Куда еще ткнуться?
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 20 лет 1 месяц
- Поблагодарили: 2 раза
А тут ведь не search влияет, а functions_search.php. Насколько я понимаю, там за это отвечает следующий кусок кода:
Что самое интересное, у меня в таблице тоже есть короткие слова, например "не". Спрошу завтра товарища насчет правильности данного кода.
Код: Выделить всё
if ( $mode == 'post' )
{
$entry = str_replace('*', ' ', $entry);
// 'words' that consist of <3 or >20 characters are removed.
$entry = preg_replace('/[ ]([\S]{1,2}|[\S]{21,})[ ]/',' ', $entry);
}
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 20 лет 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 20 лет
По идее, можно попробовать создать SQL-запрос, который вычистит таблицы search_wordmatch и search_wordlist от таких "ошибочно занесенных" слов.
То есть, из search_wordlist, удалить по условию - WHERE length(word_text)<2, и соответственно скорректировать search_wordmatch.
Ждем совета гуру
Кстати, обнаружился и несколько другой глюк в поиске - по каким-то причинам, некоторые допустимые слова не попадают в базу!
Замечено на русских словах и английских с цифрами. Вот уж воистину глючный поиск
Вызывает опасение нагрузка на базу при поиске. Чего только стоят запросы по маске, например "c*" или "а*".
Пока база была относительно небольшой, я не обращал внимание на ЭТО, но сейчас, такой запрос, это почти катастрофа
Есть и другие косяки, о которых сообщу позже ...
К сожалению, пока нет ни времени, ни достаточных знаний, что-бы все это пофиксить.
Какие будут предложения и соображения по этому поводу?
То есть, из search_wordlist, удалить по условию - WHERE length(word_text)<2, и соответственно скорректировать search_wordmatch.
Ждем совета гуру
Кстати, обнаружился и несколько другой глюк в поиске - по каким-то причинам, некоторые допустимые слова не попадают в базу!
Замечено на русских словах и английских с цифрами. Вот уж воистину глючный поиск
Вызывает опасение нагрузка на базу при поиске. Чего только стоят запросы по маске, например "c*" или "а*".
Пока база была относительно небольшой, я не обращал внимание на ЭТО, но сейчас, такой запрос, это почти катастрофа
Есть и другие косяки, о которых сообщу позже ...
К сожалению, пока нет ни времени, ни достаточных знаний, что-бы все это пофиксить.
Какие будут предложения и соображения по этому поводу?
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 20 лет
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 20 лет 1 месяц
- Поблагодарили: 2 раза
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 20 лет 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 1.4.4
- Сообщения: 103
- Стаж: 19 лет 10 месяцев
После обновления PHP с версии 4.3.5 до 4.3.8 - PHP перестал воспринимать значение локали заданное в переменных окружения. Соотв. strtolower ничерта не переводит заглавные русские буквы в прописные.Jovani писал(а):Похоже неправильно работает с русскими символами, функция strtolower.
Может совпадение?
Почитал оффсайт РНР - вроде как написано, что это known bug.
Спасает, конечно, установка setlocale в lang-файле, но всё равно глюк неприятный. пока заметил - уже куча левых слов набилась в таблицу search_words.
// romutis
-
- phpBB 1.4.2
- Сообщения: 67
- Стаж: 19 лет 4 месяца
- Откуда: Spb