<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>