Как исправить медленный поиск или загрузку контента в PaperOffice путем пересоздания индексов FULLTEXT

<div>

<h3 class="header_margin">Проблема</h3> <p class="text_margin"> Если вы испытываете медленные результаты поиска или загрузку контента в PaperOffice, причиной могут быть устаревшие или фрагментированные FULLTEXT-индексы в вашей базе данных MariaDB. Перестроение этих индексов может значительно улучшить производительность поиска. </p>

<h3 class="header_margin">Возможное решение</h3> <p class="text_margin"> Это руководство объясняет, как безопасно удалить и пересоздать все FULLTEXT-индексы в вашей базе данных MariaDB PaperOffice с помощью <a href="https://www.heidisql.com/" target="_blank">HeidiSQL</a>. </p>

<p class="disclaimer"> Отказ от ответственности: Действуйте на свой страх и риск. Всегда создавайте полную резервную копию вашей базы данных перед внесением каких-либо изменений. Вы несете ответственность за любые проблемы или потерю данных в результате этих действий. </p>

<h3 class="header_margin">Пошаговое руководство</h3> <ol> <li class="custom_li"> <strong>Установите HeidiSQL</strong><br> Загрузите и установите HeidiSQL с <a href="https://www.heidisql.com/" target="_blank">https://www.heidisql.com/</a>. </li> <li class="custom_li"> <strong>Определите имя вашей базы данных PaperOffice</strong><br> <ul> <li class="custom_li">Откройте HeidiSQL и подключитесь к вашему серверу MariaDB.</li> <li class="custom_li">В левой панели найдите базу данных, используемую PaperOffice. Имя уникально для каждой установки (например, <code>xxfwxukcvgahspyehjztxyfuf</code>).</li> </ul> </li> <li class="custom_li"> <strong>Создайте резервную копию вашей базы данных</strong><br> <ul> <li class="custom_li">Щелкните правой кнопкой мыши вашу базу данных PaperOffice в HeidiSQL.</li> <li class="custom_li">Выберите «Экспортировать базу данных как SQL».</li> <li class="custom_li">Сохраните файл резервной копии в безопасном месте.</li> </ul> </li> <li class="custom_li"> <strong>Подготовьте скрипт для перестроения FULLTEXT-индекса</strong><br> <ul> <li class="custom_li">Откройте новую вкладку запроса в HeidiSQL.</li> <li class="custom_li">Скопируйте и вставьте следующий скрипт, заменив <code>xxfwxukcvgahspyehjztxyfuf</code> на фактическое имя вашей базы данных:</li> </ul> <pre>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); </pre> <ul> <li class="custom_li"><strong>Примечание:</strong> Выполнение этой команды может занять некоторое время, в зависимости от размера вашей базы данных.</li> </ul> </li> <li class="custom_li"> <strong>Выполните скрипт</strong><br> Нажмите кнопку «Выполнить» в HeidiSQL, чтобы запустить скрипт. </li> <li class="custom_li"> <strong>Перезапустите службу MariaDB</strong><br> <ul> <li class="custom_li">После выполнения скрипта перезапустите службу MariaDB, чтобы убедиться, что все изменения полностью применены и все кэшированные данные индекса обновлены.</li> <li class="custom_li"> <strong>В Windows:</strong> <ul> <li class="custom_li">Откройте приложение «Службы» (нажмите <kbd>Win</kbd>+<kbd>R</kbd>, введите <code>services.msc</code> и нажмите Enter).</li> <li class="custom_li">Найдите «MariaDB» в списке, щелкните правой кнопкой мыши и выберите «Перезапустить».</li> </ul> </li> <li class="custom_li"> <strong>Или через командную строку:</strong> <pre>net stop MariaDB net start MariaDB</pre> </li> </ul> </li> <li class="custom_li"> <strong>Проверьте результаты</strong><br> Проверьте функции поиска и загрузки контента в PaperOffice. Производительность должна улучшиться. </li> <li class="custom_li"> <strong>Если возникнут проблемы</strong><br> Восстановите базу данных из резервной копии, созданной на шаге 3. </li> </ol>

<h3 class="header_margin">Резюме</h3> <p class="text_margin"> Перестроение FULLTEXT-индексов может решить проблему медленного поиска и загрузки контента в PaperOffice. Всегда создавайте резервную копию вашей базы данных перед внесением изменений и используйте HeidiSQL для удобства работы. </p> </div>