Уважаемые пользователи!
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.x? Ищите ответы здесь!
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

В таблицу search_wordlist попадают "недопустимые"

Сообщение Jovani »

Заметил, что уменя, в таблицу search_wordlist попадают "недопускаемые" слова, например: s, а, ....
Они запрещены для занесения в эту таблицу, имеется ввиду слова не более двух символов, но иногда, каким-то образом, туда пролазят :(
В чем причина, не понял :(

На хостинге, из русской локали, только KOI8, пробовал включать и выключать ее, не помогло :(

search.php проверил, все OK, менял заведомо исправный - из дистрибутива, не помогло :(

Куда еще ткнуться?
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

А тут ведь не 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);
	}
Что самое интересное, у меня в таблице тоже есть короткие слова, например "не". Спрошу завтра товарища насчет правильности данного кода.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Hellraiser
phpBB 2.0.1
Сообщения: 258
Стаж: 20 лет

Сообщение Hellraiser »

Ждемс ;)
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

Xpert
да, именно его я имел ввиду, да забыл как обзывается, написал search.php :D

Менял я functions_search.php ...
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

Тут еще такой прикол обнаружил - заносятся с разным регистром :shock:

То есть - "Слово", "слово", "СЛОВО", ....
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Jovani
Да, вот потому база столько и весит :(
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

Xpert это понятно ...
как фиксить ?
Все таки похоже проблема именно в локали, на localhost-e сделал переиндексацию - все OK. На сервере - траблы :(
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

По идее, можно попробовать создать SQL-запрос, который вычистит таблицы search_wordmatch и search_wordlist от таких "ошибочно занесенных" слов.
То есть, из search_wordlist, удалить по условию - WHERE length(word_text)<2, и соответственно скорректировать search_wordmatch.
Ждем совета гуру :)

Кстати, обнаружился и несколько другой глюк в поиске - по каким-то причинам, некоторые допустимые слова не попадают в базу!
Замечено на русских словах и английских с цифрами. Вот уж воистину глючный поиск :(

Вызывает опасение нагрузка на базу при поиске. Чего только стоят запросы по маске, например "c*" или "а*".
Пока база была относительно небольшой, я не обращал внимание на ЭТО, но сейчас, такой запрос, это почти катастрофа :(

Есть и другие косяки, о которых сообщу позже ...
К сожалению, пока нет ни времени, ни достаточных знаний, что-бы все это пофиксить.

Какие будут предложения и соображения по этому поводу?
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

ок, если никто не читает, удалил нах свое сообщение.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Jovani
Все читают, но решение проблемы пока не найдено.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

Xpert
вот уже четыре скрипта наваял для фиксирования этой проблемы, но не знаю, насколько они хороши.

А вообщем, изменил код, пока вроде не пролазят.
Буду тестить дальше ...
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

Похоже неправильно работает с русскими символами, функция strtolower.
Заменил аналогом в functions_search.php - перестали пролазить.
Может совпадение?
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Jovani
Возможно. А если обратно поменять?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
romutis
phpBB 1.4.4
Сообщения: 103
Стаж: 19 лет 10 месяцев

Сообщение romutis »

Jovani писал(а):Похоже неправильно работает с русскими символами, функция strtolower.

Может совпадение?
После обновления PHP с версии 4.3.5 до 4.3.8 - PHP перестал воспринимать значение локали заданное в переменных окружения. Соотв. strtolower ничерта не переводит заглавные русские буквы в прописные.
Почитал оффсайт РНР - вроде как написано, что это known bug.

Спасает, конечно, установка setlocale в lang-файле, но всё равно глюк неприятный. пока заметил - уже куча левых слов набилась в таблицу search_words.
// romutis
Аватара пользователя
MiTrI
phpBB 1.4.2
Сообщения: 67
Стаж: 19 лет 4 месяца
Откуда: Spb

Сообщение MiTrI »

У меня проблемс.
При поиске например слова - "Реферат" поиск выдает что нету таких тем с такими сообщениями. А если искать "реферат" то находит.
Вообщем с заглавными буквами проблемс.

Не подскажите что сделать?
Cold silence has a tendency to atrophy any sense of compassion...

Вернуться в «Поддержка phpBB 2.0.x»