Как исправить медленный поиск или загрузку контента в PaperOffice путем пересоздания индексов FULLTEXT
сли поиск или загрузка контента в PaperOffice работает медленно, пересоздание всех индексов FULLTEXT в базе данных MariaDB с помощью HeidiSQL может улучшить производительность. Всегда сначала сделайте резервную копию базы данных, следуйте пошаговому руководству и перезапустите службу MariaDB после внесения изменений. Вы несете ответственность за любые проблемы или потерю данных.
Проблема
Если вы испытываете медленные результаты поиска или загрузку контента в PaperOffice, причиной могут быть устаревшие или фрагментированные FULLTEXT-индексы в вашей базе данных MariaDB. Перестроение этих индексов может значительно улучшить производительность поиска.
Возможное решение
Это руководство объясняет, как безопасно удалить и пересоздать все FULLTEXT-индексы в вашей базе данных MariaDB PaperOffice с помощью HeidiSQL.
Отказ от ответственности: Действуйте на свой страх и риск. Всегда создавайте полную резервную копию вашей базы данных перед внесением каких-либо изменений. Вы несете ответственность за любые проблемы или потерю данных в результате этих действий.
Пошаговое руководство
-
Установите HeidiSQL
Загрузите и установите HeidiSQL с https://www.heidisql.com/. -
Определите имя вашей базы данных PaperOffice
- Откройте HeidiSQL и подключитесь к вашему серверу MariaDB.
- В левой панели найдите базу данных, используемую PaperOffice. Имя уникально для каждой установки (например,
xxfwxukcvgahspyehjztxyfuf).
-
Создайте резервную копию вашей базы данных
- Щелкните правой кнопкой мыши вашу базу данных PaperOffice в HeidiSQL.
- Выберите «Экспортировать базу данных как SQL».
- Сохраните файл резервной копии в безопасном месте.
-
Подготовьте скрипт для перестроения FULLTEXT-индекса
- Откройте новую вкладку запроса в HeidiSQL.
- Скопируйте и вставьте следующий скрипт, заменив
xxfwxukcvgahspyehjztxyfufна фактическое имя вашей базы данных:
USE `xxfwxukcvgahspyehjztxyfuf`; -- Перестроить FULLTEXT-индексы для всех соответствующих таблиц -- Таблица: categories ALTER TABLE `categories` DROP INDEX `name`, ADD FULLTEXT INDEX `name` (`name`); -- Таблица: documents ALTER TABLE `documents` DROP INDEX `name`, DROP INDEX `xml_data`, DROP INDEX `type`, DROP INDEX `original_location`, DROP INDEX `keywords`, DROP INDEX `security_geolocation`, DROP INDEX `contacts`, DROP INDEX `description`, ADD FULLTEXT INDEX `name` (`name`), ADD FULLTEXT INDEX `xml_data` (`xml_data`), ADD FULLTEXT INDEX `type` (`type`), ADD FULLTEXT INDEX `original_location` (`original_location`), ADD FULLTEXT INDEX `keywords` (`keywords`), ADD FULLTEXT INDEX `security_geolocation` (`security_geolocation`), ADD FULLTEXT INDEX `contacts` (`contacts`), ADD FULLTEXT INDEX `description` (`description`); -- Таблица: documents_annotations ALTER TABLE `documents_annotations` DROP INDEX `text`, DROP INDEX `note_id`, DROP INDEX `task_id`, DROP INDEX `reminder_id`, DROP INDEX `contact_id`, DROP INDEX `tag_id`, DROP INDEX `events`, ADD FULLTEXT INDEX `text` (`text`), ADD FULLTEXT INDEX `note_id` (`note_id`), ADD FULLTEXT INDEX `task_id` (`task_id`), ADD FULLTEXT INDEX `reminder_id` (`reminder_id`), ADD FULLTEXT INDEX `contact_id` (`contact_id`), ADD FULLTEXT INDEX `tag_id` (`tag_id`), ADD FULLTEXT INDEX `events` (`events`); -- Таблица: documents_notes ALTER TABLE `documents_notes` DROP INDEX `content`, ADD FULLTEXT INDEX `content` (`content`); -- Таблица: documents_ocr ALTER TABLE `documents_ocr` DROP INDEX `ocr_text`, DROP INDEX `smartspell`, ADD FULLTEXT INDEX `ocr_text` (`ocr_text`), ADD FULLTEXT INDEX `smartspell` (`smartspell`); -- Таблица: documents_tasks ALTER TABLE `documents_tasks` DROP INDEX `this_match`, ADD FULLTEXT INDEX `this_match` (`content`, `todo_subject`); -- Таблица: documents_barcodes ALTER TABLE `documents_barcodes` DROP INDEX `barcode_value`, ADD FULLTEXT INDEX `barcode_value` (`barcode_value`); -- Таблица: documents_udfs ALTER TABLE `documents_udfs` DROP INDEX `value`, ADD FULLTEXT INDEX `value` (`value`);- Примечание: Выполнение этой команды может занять некоторое время, в зависимости от размера вашей базы данных.
-
Выполните скрипт
Нажмите кнопку «Выполнить» в HeidiSQL, чтобы запустить скрипт. -
Перезапустите службу MariaDB
- После выполнения скрипта перезапустите службу MariaDB, чтобы убедиться, что все изменения полностью применены и все кэшированные данные индекса обновлены.
-
В Windows:
- Откройте приложение «Службы» (нажмите Win+R, введите
services.mscи нажмите Enter). - Найдите «MariaDB» в списке, щелкните правой кнопкой мыши и выберите «Перезапустить».
- Откройте приложение «Службы» (нажмите Win+R, введите
-
Или через командную строку:
net stop MariaDB net start MariaDB
-
Проверьте результаты
Проверьте функции поиска и загрузки контента в PaperOffice. Производительность должна улучшиться. -
Если возникнут проблемы
Восстановите базу данных из резервной копии, созданной на шаге 3.
Резюме
Перестроение FULLTEXT-индексов может решить проблему медленного поиска и загрузки контента в PaperOffice. Всегда создавайте резервную копию вашей базы данных перед внесением изменений и используйте HeidiSQL для удобства работы.