Поисковые индексы
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Поисковые индексы
Данная ошибка возникает из-за того, что владелец таблиц в базе данных выставлен неверно.
Обратитесь к хостеру.
Обратитесь к хостеру.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
F-XIII
- phpBB 1.4.1
- Сообщения: 42
- Стаж: 20 лет 8 месяцев
- Откуда: Ростов-на-Дону
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Поисковые индексы
Возникла необходимость смены хостера (несколько лет база работала нормально), поменял на VPS-хостинг... Бэкап базы успешно залился, но у меня выскакивает та же ошибка при попытке создания индексов (Поисковый механизм: Fulltext MySQL):
Column 'post_text' cannot be part of FULLTEXT index [1283]
Если вручную выполнить запрос
После этого индексы создаются, но база раздувается с 104Mb до 370Mb - я в шоке... Удаляю индексы (объем базы почти не уменьшился) - повторно создаваться они уже не хотят - снова ошибка [1283]... НО поиск при этом почему-то все равно работает...
Попытался переключится на Fulltext native, но 103000 постов индексируются по 70-90 постов за проход, и жуткие тормоза всего сервера начинаются - 3 суток понадобится, что тоже не правильно как-то...
Я так понимаю в таблице явно есть какие-то ошибки, так не должно быть...
Попробовал запустить mysql_upgrader, он выдал список почти всех таблиц, вот часть списка запросов, касающихся таблицы "phpbb3_posts":
Версия MySQL 5.1.69, тип таблиц MyISAM, кодировка базы utf8, в таблицах utf_unicode_ci (ещё со времени конвертирования базы с ср1251, когда был phpBB2.х.х)...
Помогите ламеру разобраться...
Column 'post_text' cannot be part of FULLTEXT index [1283]
Если вручную выполнить запрос
Код: Выделить всё
ALTER TABLE `phpbb3_posts` ADD FULLTEXT (`post_text`);Попытался переключится на Fulltext native, но 103000 постов индексируются по 70-90 постов за проход, и жуткие тормоза всего сервера начинаются - 3 суток понадобится, что тоже не правильно как-то...
Я так понимаю в таблице явно есть какие-то ошибки, так не должно быть...
Попробовал запустить mysql_upgrader, он выдал список почти всех таблиц, вот часть списка запросов, касающихся таблицы "phpbb3_posts":
Код: Выделить всё
# Table: 'phpbb3_posts'
ALTER TABLE phpbb3_posts
MODIFY post_id mediumint(8) UNSIGNED NOT NULL auto_increment,
MODIFY topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY poster_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY icon_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY poster_ip varchar(40) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_approved tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_reported tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY enable_bbcode tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_smilies tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_magic_url tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_sig tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_username varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_subject varchar(255) DEFAULT '' NOT NULL COLLATE utf8_unicode_ci,
MODIFY post_text mediumtext NOT NULL COLLATE utf8_bin,
MODIFY post_checksum varchar(32) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_attachment tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY bbcode_bitfield varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY bbcode_uid varchar(8) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_postcount tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_edit_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_reason varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_edit_user mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_count smallint(4) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_locked tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
DROP INDEX post_username,
ADD KEY post_username (post_username),
DEFAULT CHARSET=utf8 COLLATE=utf8_bin;Помогите ламеру разобраться...
Последний раз редактировалось F-XIII 26.08.2013 10:05, всего редактировалось 3 раза.
Silver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...
Godly weapons speak to break the chains of darkness ...
-
владимир1983
- phpBB 3.2.6
- Сообщения: 5954
- Стаж: 16 лет 4 месяца
- Откуда: Сергиев Посад
- Благодарил (а): 373 раза
- Поблагодарили: 727 раз
Re: Поисковые индексы
А если
Потом
И запусти индексирование.
Код: Выделить всё
ALTER TABLE phpbb_posts CONVERT TO CHARACTER SET utf8;Код: Выделить всё
ALTER TABLE `phpbb_posts` ADD FULLTEXT (
`post_text`
) За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Нет человека - нет проблемы. (c)
-
F-XIII
- phpBB 1.4.1
- Сообщения: 42
- Стаж: 20 лет 8 месяцев
- Откуда: Ростов-на-Дону
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Поисковые индексы
Дополнил свой пост выше...
Ок, попробую вечером... Попутно вопрос: Может быть смена типа таблиц на InnoDB изменит как-то эту ситуацию или не стоит заморачиваться с этим?
Спасибо за отклик...
Ок, попробую вечером... Попутно вопрос: Может быть смена типа таблиц на InnoDB изменит как-то эту ситуацию или не стоит заморачиваться с этим?
Спасибо за отклик...
Silver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...
Godly weapons speak to break the chains of darkness ...
-
владимир1983
- phpBB 3.2.6
- Сообщения: 5954
- Стаж: 16 лет 4 месяца
- Откуда: Сергиев Посад
- Благодарил (а): 373 раза
- Поблагодарили: 727 раз
Re: Поисковые индексы
Полнотекстовый поиск по InnoDB поддерживается только в крайних версиях MySQL.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Нет человека - нет проблемы. (c)
-
F-XIII
- phpBB 1.4.1
- Сообщения: 42
- Стаж: 20 лет 8 месяцев
- Откуда: Ростов-на-Дону
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Поисковые индексы
владимир1983, понял, тогда отпадает...
Кодировка может влиять на скорость индексирования, в моём случае utf_unicode_ci - из-за неё может быть такой тупёж или же это исключительно проблемы ресурсов MySQL... Если дело в ней, и ты в курсе какие настройки надо изменить в MySQL, чтобы она работала пошустрее (), то буду оч признателен за совет... У меня VPS, поэтому поправить их могу без участия хостера...
Кодировка может влиять на скорость индексирования, в моём случае utf_unicode_ci - из-за неё может быть такой тупёж или же это исключительно проблемы ресурсов MySQL... Если дело в ней, и ты в курсе какие настройки надо изменить в MySQL, чтобы она работала пошустрее (), то буду оч признателен за совет... У меня VPS, поэтому поправить их могу без участия хостера...
Silver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...
Godly weapons speak to break the chains of darkness ...
-
владимир1983
- phpBB 3.2.6
- Сообщения: 5954
- Стаж: 16 лет 4 месяца
- Откуда: Сергиев Посад
- Благодарил (а): 373 раза
- Поблагодарили: 727 раз
Re: Поисковые индексы
100 000 не так много. У меня на индексирование такого количества сообщений уходит около 10 минут, не понимаю о каких трех сутках ты говоришь.
Что у тебя в
Что у тебя в
post_max_size и max_execution_tim?За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Нет человека - нет проблемы. (c)
-
F-XIII
- phpBB 1.4.1
- Сообщения: 42
- Стаж: 20 лет 8 месяцев
- Откуда: Ростов-на-Дону
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Поисковые индексы
владимир1983 так я сам в шоке, не такая большая база...
max_execution_time 60
max_input_time 60
max_input_vars 1000
memory_limit 128M
post_max_size 10MSilver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...
Godly weapons speak to break the chains of darkness ...
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Поисковые индексы
Этого недостаточно. Должны быть еще созданы индексыF-XIII писал(а):Если вручную выполнить запрос
post_subject и post_content
и это правильно.F-XIII писал(а): повторно создаваться они уже не хотят - снова ошибка [1283]
Сделайте так.
1. Убедитесь сначала, что Поисковый механизм Fulltext mysql включен
ACP-->ОБЩИЕ-->КОНФИГУРАЦИЯ СЕРВЕРА-->Поиск
2. Проверьте настройки сервера MySQL
3. Удалите все лишние ключи.Минимум символов для индексации:
Слова, состоящие из как минимум данного количества символов будут проиндексированы для поиска. Изменить данное значение можно только путем изменения настроек сервера MySQL.
Максимум символов для индексации:
Слова, состоящие не более, чем из данного количества символов, будут проиндексированы для поиска. Изменить данное значение можно только путем изменения настроек сервера MySQL.
Должно быть так 4. ACP-->ОБЩИЕ-->ОБСЛУЖИВАНИЕ-->БАЗА ДАННЫХ-->Поисковые индексы
Должно быть
Fulltext mysql (активен)
5. Создайте индексы. В результате должно получиться так
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
F-XIII
- phpBB 1.4.1
- Сообщения: 42
- Стаж: 20 лет 8 месяцев
- Откуда: Ростов-на-Дону
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Поисковые индексы
Sheer, спасибо за подробный ответ, буду сегодня пробовать...
1 и 2 - Точно включено и активно, индексов обоих поисковых механизмов: 0
3 - пока не могу сказать, есть лишние или нет
4 - Fulltext mysql (активен) - точно так
У меня другой интерфейс phpMyAdmin, но попробую разобраться...
1 и 2 - Точно включено и активно, индексов обоих поисковых механизмов: 0
3 - пока не могу сказать, есть лишние или нет
4 - Fulltext mysql (активен) - точно так
Получается, что эти ключи должны создаваться/удаляться штатным инструментом админки, так ведь? А повторно они не создаются потому что не хватает указанных ключей или из-за присутствия лишних?Должны быть еще созданы индексыpost_subject и post_content
У меня другой интерфейс phpMyAdmin, но попробую разобраться...
Последний раз редактировалось F-XIII 26.08.2013 12:53, всего редактировалось 1 раз.
Silver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...
Godly weapons speak to break the chains of darkness ...
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Поисковые индексы
Да.F-XIII писал(а):эти ключи должны создаваться/удаляться штатным инструментом админки
Из-за того, что уже созданы. Мне удалось воспроизвести ошибку. Вручную создав индекс, а потом в админке попытавшись вновь создать поисковые индексы.F-XIII писал(а):из-за присутствия лишних
Неважно.F-XIII писал(а):У меня другой интерфейс
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
F-XIII
- phpBB 1.4.1
- Сообщения: 42
- Стаж: 20 лет 8 месяцев
- Откуда: Ростов-на-Дону
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Поисковые индексы
Sheer, еще раз благодарю, а если ещё и есть возможность дать ссылку на какую-нить документацию, где прописаны все родные индексы/ключи таблиц, чтобы проверить, то Вам вообще цены нет)
А то раз в этой таблице ошибка, наверняка где-то еще есть ошибки или мусор...
А то раз в этой таблице ошибка, наверняка где-то еще есть ошибки или мусор...
Silver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...
Godly weapons speak to break the chains of darkness ...
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Поисковые индексы
http://www.phpbbguru.net/database/tables/
Добавлено спустя 3 минуты 14 секунд:
Ах, да...
http://www.phpbbguru.net/documentation/
Main Page
Добавлено спустя 3 минуты 14 секунд:
Ах, да...
F-XIII писал(а):на какую-нить документацию
Main Page
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
F-XIII
- phpBB 1.4.1
- Сообщения: 42
- Стаж: 20 лет 8 месяцев
- Откуда: Ростов-на-Дону
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Поисковые индексы
Sheer, не поверите, но лишних ключей не оказалось и всё остальное сходится с Вашими скринами... Разве что сравнение у меня было
Но теперь, по крайней мере, выскакивает уже другая ошибка при запуске:
SQL ERROR [ mysql4 ]
Error writing file '/tmp/STKkdmRg' (Errcode: 28) [3]
SQL
ALTER TABLE phpbb3_posts ADD FULLTEXT (post_subject), MODIFY post_text mediumtext COLLATE utf8_unicode_ci NOT NULL, ADD FULLTEXT (post_text), ADD FULLTEXT post_content (post_subject, post_text)
или такая:
SQL ERROR [ mysql4 ]
Lost connection to MySQL server during query [2013]
SQL
...
Я так понимаю, это уже не в таблице дело, а самой базе, я прав? У меня еще вызывает сомнение
Что посоветуете?
utf_unicode_ci вместо utf_bin, но вот этот код (взят из результатов mysql_upgrader.php) мне помог это исправить: Код: Выделить всё
# Table: 'phpbb3_posts'
ALTER TABLE phpbb3_posts
MODIFY post_id mediumint(8) UNSIGNED NOT NULL auto_increment,
MODIFY topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY poster_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY icon_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY poster_ip varchar(40) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_approved tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_reported tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY enable_bbcode tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_smilies tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_magic_url tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_sig tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_username varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_subject varchar(255) DEFAULT '' NOT NULL COLLATE utf8_unicode_ci,
MODIFY post_text mediumtext NOT NULL COLLATE utf8_bin,
MODIFY post_checksum varchar(32) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_attachment tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY bbcode_bitfield varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY bbcode_uid varchar(8) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_postcount tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_edit_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_reason varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_edit_user mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_count smallint(4) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_locked tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
DROP INDEX post_username,
ADD KEY post_username (post_username),
DEFAULT CHARSET=utf8 COLLATE=utf8_bin;SQL ERROR [ mysql4 ]
Error writing file '/tmp/STKkdmRg' (Errcode: 28) [3]
SQL
ALTER TABLE phpbb3_posts ADD FULLTEXT (post_subject), MODIFY post_text mediumtext COLLATE utf8_unicode_ci NOT NULL, ADD FULLTEXT (post_text), ADD FULLTEXT post_content (post_subject, post_text)
или такая:
SQL ERROR [ mysql4 ]
Lost connection to MySQL server during query [2013]
SQL
...
Я так понимаю, это уже не в таблице дело, а самой базе, я прав? У меня еще вызывает сомнение
[ mysql4 ] - откуда 4, когда уже давно 5 версия, или это не имеет значения?Что посоветуете?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Silver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...
Godly weapons speak to break the chains of darkness ...
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Поисковые индексы
Errcode 28 means No space left on device. - то есть банально на диске кончилось свободное место.F-XIII писал(а):Errcode: 28
-- потеря соединения с сервером во время выполнения запроса.F-XIII писал(а):Lost connection to MySQL server during query
Короче, пусть ваш хостер это лечит.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

