Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Тюним поиск

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Аватара пользователя
Admin_777
phpBB 1.4.4
Сообщения: 190
Зарегистрирован: 18 лет 7 месяцев
Откуда: Moscow

Сообщение Admin_777 »

В phpMyAdmin вижу:
таблица Действие Записи Тип Сравнение Размер Накладные расходы
phpbb_auth_access 0 MyISAM cp1251_general_ci 1.0 KB -
phpbb_banlist 6 MyISAM cp1251_general_ci 3.1 KB
Т.е. cp1251_general_ci
Что еще проверить, какие команды набрать?

Но меня смущает, что на том же сервере есть другой форум с более старым движком и где база в порядке.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Версия БД у вас какая?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Admin_777
phpBB 1.4.4
Сообщения: 190
Зарегистрирован: 18 лет 7 месяцев
Откуда: Moscow

Сообщение Admin_777 »

Я уже писал, что у меня 4.1.9, на что VVVas ответил, что у него еще более старая. Дело, скорее всего не в этом.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Admin_777
phpBB 1.4.4
Сообщения: 190
Зарегистрирован: 18 лет 7 месяцев
Откуда: Moscow

Сообщение Admin_777 »

Спасибо за ссылку. Пойду проверю все по пунктам. Главное, что проблему локализовали. :)

Добавлено спустя 9 минут 31 секунду:

Не помогло. Причем дублируются не только русские слова, но и английские, а также цифры:
word_text word_id word_common
005 3257559 0
005 3257785 0
005 3257786 0
005 3257561 0
Последний раз редактировалось Admin_777 10.11.2005 16:38, всего редактировалось 1 раз.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

А верно ли кодировку выбрали? У меня вот например вроде для такой же что и ваша работали следующие запросы:

Код: Выделить всё

SET NAMES cp1251;
SET collation_connection = 'cp1251_general_ci';
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Admin_777
phpBB 1.4.4
Сообщения: 190
Зарегистрирован: 18 лет 7 месяцев
Откуда: Moscow

Сообщение Admin_777 »

Простите, не понял.
Это про config.php ?
У меня там сейчас вот что:
$dbms = 'mysql';
$mysql_charset = 'cp1251';
$collation_connection = 'cp1251_general_ci';

Да, имена пользователей сортируются по алфавиту нормально.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Хм... вроде все верно.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Admin_777
phpBB 1.4.4
Сообщения: 190
Зарегистрирован: 18 лет 7 месяцев
Откуда: Moscow

Сообщение Admin_777 »

В общем проблема найдена. При составлении таблиц для поиска в таблице search_wordlist на каждое(!) слово (русское, английское) или цифру заводится новая запись.

Код: Выделить всё

word_text word_id word_common 
005 3257559 0 
005 3257785 0 
005 3257786 0 
005 3257561 0

Код: Выделить всё

word_text word_id word_common 
галочку 3181698 0 
галочку 3190708 0 
галочку 3191902 0 
галочку 3195453 0 
галочку 3202747 0
В результате такого дублирования начинает распухать сама таблица search_wordlist и это вызывает немеренный рост search_wordmatch (до нескольких десятков млн. записей).

Осталось выяснить к каком месте программы происходит проверка слов в поле word_text на совпадение и почему даже при наличии такого слова каждый раз создается новое.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Проверка уже существующих слов находится в functions_search.php, функция add_search_words, с этого места:

Код: Выделить всё

		$check_words = array();
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Admin_777
phpBB 1.4.4
Сообщения: 190
Зарегистрирован: 18 лет 7 месяцев
Откуда: Moscow

Сообщение Admin_777 »

Чтобы избежать влияние девайса "кривые руки", установил чистый 2.0.18 + Rebuild Search (тут думаю версия последнего не влияет, т.к. используются функции движка форума).
Пока все плохо. Те же млн. записей и повторы слов. Куда копать не знаю. Или все-таки Rebuild Search не так работает?
Самый прикол в том, что есть на этом хостинге еще один форум (временно замороженный), где стоит 15 версия и там с поисковыми словами все в порядке. Ничего не понимаю. :(
Отчего не срабатывает $check_words = array(); и т.д. ???
Аватара пользователя
Admin_777
phpBB 1.4.4
Сообщения: 190
Зарегистрирован: 18 лет 7 месяцев
Откуда: Moscow

Сообщение Admin_777 »

Разобрался в чем дело. Оказывается админ предыдущего нашего хостинга при восстановлении базы форума, не долго думая, сменил в таблице search_wordlist поле word_text на индексируемое поле (а должно быть первичным ключом), отчего значения внутри него перестали быть уникальными.
Теперь все работает. Продолжаю тюнить поиск.

Уважаемые модераторы, мои топики наверное лучше перенести в отдельную тему. Судя по всему (особенно те, кто отключают поиск), многие на это наталкиваются. Приметы проблемы - огромные размеры таблиц для поиска.
ua6ap
phpBB 1.4.3
Сообщения: 76
Зарегистрирован: 18 лет 7 месяцев

Сообщение ua6ap »

atrus
Спасибо большое за reindex_mod !
Главное, что Вы сделали его правильно, учтя проблемы тех, у кого время жизни скриптов ограничено 30 сек.

Сразу же возник вопрос: а нет-ли мода для резервного копирования и восстановления базы форума с учетом ограничения жизни скриптов? Моя база ~80мб уже давно не укладывается в 30сек.
Аватара пользователя
Admin_777
phpBB 1.4.4
Сообщения: 190
Зарегистрирован: 18 лет 7 месяцев
Откуда: Moscow

Сообщение Admin_777 »

А SSH доступ есть? Все-таки лучше и надежнее
mysqldump -a ...
Аватара пользователя
natali
phpBB 2.0.1
Сообщения: 293
Зарегистрирован: 18 лет 11 месяцев
Откуда: Киев

Сообщение natali »

http://lrngate.narod.ru/php/word_list.zip

а где файл? :roll:

у кого есть хороший search_stopwords.txt

да, и может его стоит включить в официальный языковой пакет?

Вернуться в «Бета-версии модов для phpBB 2.0.x»