В левой части окна находится текущая структура проекта в которой вы можете выделить те статьи и категории, которые желаете чтобы участвовали в процессе структурирования.
В правой — будущая структура проекта которую вам сперва необходимо описать. Для этого используя контекстное меню создаются категории и объединенные записи. Что такое категории объяснять не стоит, объясню только что собой представляют записи. Объединенные записи — это записи, в которых по выбранным вами ключевым словам будут помещаться тексты подходящих одиночных записей, т.е. результатом будет создания одной большой записи с группы маленьких.
Распределение может быть равномерным или релеватным. Во время равномерного распределения программа старается более-менее равномерно разбросать статьи по тем элементам структуры, в которые она подходит. Если используется релеватное распределение — программа подсчитывает количество совпадений каждого из указанных ключей и отправляет статью в тот элемент структуры, в для которого суммарное количество ключей дало больше всего совпадений.
Под окошком с описанием структуры находятся поля управления отдельной записью этой самой структуры:
- Название — название будущей категории или объединенной записи
- Ключи — шаблоны ключевых слов по которым статьи будут определенны в конкретную категорию.
- Поля для поиска — где именно программа должна искать ключи
Управляющие символы в ключевых словах:
- Если шаблон начинается с ^ — тогда это значит, что текст должен начинаться со слов идущих за этим символом (удобно для создания алфавитных указателей, например: скриншот).
- Если шаблон начинается на + — это значит, что слово обязательно должно присутствовать в тексте
- Если шаблон начинается на - — это значит, что слово не должно быть в тексте
Шапка статьи для объединенной записи — это разделитель статей, который будет присутствовать в начале каждой отдельной записи. Например, если у вас результирующая запись будет состоять из 3 записей названия которых «Запись 1», «Запись 2» и «Запись 3», а настройки шапки такие же как показаны на скриншоте, то исходный код записи будет выглядеть следующим образом:
<h3>Запись 1</3> ... Текст записи 1 ... <h3>Запись 2</3> ... Текст записи 2 ... <h3>Запись 3</3> ... Текст записи 3 ...
После создания структуры и заполнения всех полей необходимо нажать кнопку Анализировать — которая проведет предварительные подсчёты и покажет в какую категорию сколько статей попадет после применения.
Принцип распределения
Для того, чтобы было легче понять как и куда будут попадать ваши статьи после структурирования необходимо описать принцип по которому программа работает:
- Сначала выделенные записи в левом окне распределяются между первым уровнем будущей структуры. Если одна запись подходит для нескольких категорий, то она попадает в ту категорию, в которой меньше всего записей. Это позволяет достичь равномерности распределения
- Дальше записи каждой категории первого уровня распределяются между дочерними элементами (т.е. в распределении участвуют только те записи, что на предыдущем шаге попали в родительскую). Если есть записи, которые не подходят ни для одного дочернего элемента (под элементом подразумевают категорию или объединенную запись), то эти записи остаются в этой категории.
- Следующим шагом есть распределение записей между элементами нижних уровней по принципу описанному выше.
Вставка категорий/записей из буфера
Существует 2 вида вставки структуры из буфера:
- Простая структура (вставка категорий и вставка записей)
- Сложная структура
Простая структура
С простой структурой всё очень просто, записи в буфере должны быть в таком формате:
Название;Ключи;Поля для поиска Название;Ключи;Поля для поиска ... Название;Ключи;Поля для поиска
Причем последние 2 не обязательны. Если вставить так:
Название;Ключи Название;Ключи ... Название;Ключи
То поля для поиска будут для всех этих записей «По названию стати». А если так:
Название Название ... Название
Тогда еще и ключи будут пустые.
Разделитель ключевых слов (если их для каждой записи должно быть несколько) — запятая.
Сложная структура
Сложная структура позволяет вставлять одновременно разные типы записей и разного уровня вложености (по сути можно вставить всю необходимую структуру за раз).
Формат:
УРОВЕНЬ_ВЛОЖЕННОСТИ;ТИП;НАЗВАНИЕ;КЛЮЧИ;ПОЛЯ_ДЛЯ_ПОИСКА
- УРОВЕНЬ_ВЛОЖЕННОСТИ — описан в виде знаков диез (#). Количество знаков указывает на уровень вложенности
- ТИП — тип записи. CAT — категория, POST — запись
- НАЗВАНИЕ, КЛЮЧИ и ПОЛЯ_ДЛЯ_ПОИСКА — аналогично как и в простой структуре
Например, если мы используем такой текст для импорта:
#;CAT;Название категории 1;ключ 1, ключ 2, ключ 3;Текст статьи ##;POST;Название поста 1;ключ 1, ключ 2, ключ 3;Alt картинок ##;POST;Название поста 2;ключ 1, ключ 2, ключ 3;Alt картинок ##;POST;Название поста 3;ключ 1, ключ 2, ключ 3;Alt картинок #;CAT;Название категории 2;ключ 1, ключ 2, ключ 3;Текст статьи #;CAT;Название категории 3;ключ 1, ключ 2, ключ 3;Текст статьи ##;CAT;Название поста 4;ключ 1, ключ 2, ключ 3;Alt картинок ###;POST;Название поста 5;ключ 1, ключ 2, ключ 3;Alt картинок
То получим такой результат:
Результат вставки сложной структуры
Настройки распределения
Структурирование позволяет пользователю определить некоторые критерии выбора записей для получения более точных результатов. Для каждого из типов записей (категории и объединенные записи) есть свои настройки максимального и минимального количества записей. Если при использовании пользовательских настроек программа вылазит за эти границы — тогда она начинает манипулировать настройками «Поле для поиска», чтобы добиться более приемлемых результатов.
Стоит знать, что ввиду того, что полный перебор всевозможных вариантов очень ресурсоемкий и длительный процесс, потому алгоритм поиска оптимального варианта разработан таким образом, чтобы не отнимать много времени и при этом иметь приемлемую эффективность.
Если программа для записи выход за границы минимального или максимального значние, тогда она изменяет настройки «Поле для поиска» по следующему принципу:
- Если значение меньше, чем нужно — то «Поле для поиска» меняется на предыдущее (то что выше) из указанного пользователем списка «Приоритет полей для поиска»
- Если значение больше, чем нужно — то «Поле для поиска» меняется на следующее (то что ниже) из указанного пользователем списка «Приоритет полей для поиска»
Из этого следует, что "Приоритет полей для поиска" необходимо указать таким образом, чтобы те поля, которые принесут больше записей находились выше, а те что меньше — ниже.