Поиск контента
Возможность поиска документации критически важна для повседневной работы. Существует несколько мест в BookStack, где можно искать нужный контент. Вот перечень функций поиска в BookStack:
Поле поиска в шапке
Поле поиска/гиперссылка в шапке каждой страницы позволяет осуществлять поиск откуда угодно. Этот поиск является глобальным и охватывает все книги, главы и страницы в вашей системе. После выполнения поиска в этом поле вы попадете на страницу поиска, которая включает параметры и функции, помогающие построить расширенный поиск.
Поиск в книге или главе
При просмотре книги или главы строка поиска находится в верхней части левой боковой панели. Эти поиски охватывают все вложенные элементы.
Выбор перемещения и ссылки
При выборе перемещения страницы/главы или при выборе страницы/главы/книги для ссылки в редакторе отображаются наиболее популярные элементы, но вы также можете воспользоваться поиском.
Расширенный синтаксис поиска
Все вышеперечисленные области поиска в BookStack поддерживают использование расширенного синтаксиса поиска. Простым способом увидеть этот синтаксис в действии является использование глобального поиска в BookStack и экспериментирование с фильтрами поиска, которые обновляют поисковый запрос следующим образом:
Тип поиска | Синтаксис | Примеры | Описание
-
Обычный поиск: <термин_1> <термин_2>
Например: лондон встреча
Обычные поисковые запросы по словам включают название и описание или тело вашего контента. При вводе нескольких терминов достаточно совпадения одного термина, но контент, содержащий оба термина, будет выше в результатах. -
Точный поиск: "<термин>"
Например: "лондонская встреча"
Точные совпадения требуют наличия всей строки в кавычках в точности в таком формате в вашем контенте. Используйте это, если ищете точную фразу или термины с пробелами. -
Поиск по тегам: [<название>], [<оператор><значение>], [<название><оператор><значение>]
Например: [местоположение], [=лондон], [местоположение=лондон], [участники>5]
Поиск по тегам позволяет находить страницы с определенными применёнными тегами. Можно искать по названию тега, значению тега или обоим параметрам. При поиске по значению тега необходимо использовать оператор, определяющий тип соответствия. Можно использовать операторы =, !=, <, >, <=, >= или like. При использовании оператора like можно использовать символы % для обозначения шаблонов поиска. -
Фильтры поиска: {<название_фильтра>}, {<название_фильтра>:<значение_фильтра>}
См. ниже таблицу фильтров, поддерживаемых в BookStack, и способы их использования.
Отрицание поисковых запросов
Для точного поиска, поиска по тегам и фильтрам можно отрицать (НЕ) условие поиска, добавив перед ним дефис (-). Например, поиск с параметром -[местоположение] исключит из результатов поиска все записи с тегом местоположение.
Доступные фильтры
Фильтры представляют собой расширенные возможности поиска, которые можно использовать в поисковом запросе. Ниже представлены все доступные фильтры в BookStack и их использование:
Синтаксис | Примеры | Описание
-
Фильтры даты:
-
{updated_after:<дата>}
Например: {updated_after:2016-12-30}
Добавляет условие, что контент должен был быть последним обновлен после указанной даты. Дату следует указывать в формате YYYY-MM-DD. -
{updated_before:<дата>}
Например: {updated_before:2016-12-30}
Добавляет условие, что контент должен был быть последним обновлён до указанной даты. Формат такой же: YYYY-MM-DD. -
{created_after:<дата>}
Например: {created_after:2016-12-30}
Условие, что контент должен был быть создан после указанной даты. Формат: YYYY-MM-DD. -
{created_before:<дата>}
Например: {created_before:2016-12-30}
Условие, что контент должен был быть создан до указанной даты. Формат: YYYY-MM-DD.
-
-
Фильтры пользователей:
-
{updated_by:<псевдоним_пользователя|me>}
Например: {updated_by:барри}, {updated_by:me}
Условие, что контент должен был быть последний раз обновлен указанным пользователем. Если указать me, будут найдены записи, обновленные текущим пользователем. -
{created_by:<псевдоним_пользователя|me>}
Например: {created_by:барри}, {created_by:me}
Условие, что контент должен был быть создан указанным пользователем. Аналогично me — для текущего пользователя. -
{owned_by:<псевдоним_пользователя|me>}
Например: {owned_by:барри}, {owned_by:me}
Условие, что контент должен активно принадлежать указанному пользователю. Опять же, me означает текущего пользователя.
-
-
Фильтры контента:
-
{in_name:<поиск>}
Например: {in_name:Лондонские встречи}, {in_name:Встречи}
Требует, чтобы искомый термин находился в названии контента, а не в теле или описании. -
{in_body:<поиск>}
Например: {in_body:Лондонские встречи}, {in_body:Встречи}
Требует, чтобы искомый термин присутствовал в тексте контента, а не в названии.
-
-
Опционные фильтры:
-
{is_restricted}
Например: {is_restricted}
Ограничивает результаты контентом, имеющим активные ограничения на уровне содержимого. Не возвращает элементы с наследуемыми разрешениями. -
{is_template}
Например: {is_template}
Фильтрует результаты поиска страниц, помечая их как шаблон. Обычно комбинируется с фильтром {type:page}. -
{viewed_by_me}
Например: {viewed_by_me}
Возвращает контент, просмотренный текущим пользователем хотя бы один раз. -
{not_viewed_by_me}
Например: {not_viewed_by_me}
Исключает из результатов контент, ранее просмотренный текущим пользователем. -
{type:<типы_контента>}
Например: {type:страница|глава|книга}, {type:страница|глава}, {type:книга}
Ограничивает типы контента, которые будут включены в результаты поиска. Использование зависит от типа поиска. Например, при поиске в главе результат ограничен страницами, и этот фильтр не влияет. -
{sort_by:<метод_сортировки>}
Например: {sort_by:last_commented}
Сортирует результаты поиска определенным порядком, отличным от порядка по соответствию запросу. Поддерживается сортировка по последнему комментарию.
-
Примеры поиска
Ниже приведены примеры использования вышеуказанного синтаксиса и фильтров:
-
"мой кот" {просмотрено_мной} {обновлено_после:2017-01-24}
-
"мой кот" — поиск контента, содержащего точную фразу «мой кот»;
-
{просмотрено_мной} — просмотрено текущим пользователем;
-
{обновлено_после:2017-01-24} — последнее обновление должно быть после 24 января 2017 года.
-
-
учебник обсуждение -"черновик" [встреча] {тип:страница} {создано_мной}
-
учебник обсуждение — поиск контента с любыми словами «учебник» или «обсуждение»;
-
-"черновик" — исключение результатов, содержащих точное слово «черновик»;
-
[встреча] — показывать только контент с тегом «встреча»;
-
{тип:страница} — показывать только страницы, скрывая главы и книги;
-
{создано_мной} — созданный текущим пользователем.
-
-
{тип:книга|глава} {создано_мной} {создано_после:2016-08-12} {создано_до:2017-02-18}
-
{тип:книга|глава} — поиск среди всех книг и глав;
-
{создано_мной} — создано текущим пользователем;
-
{создано_после:2016-08-12} — создание произошло после 12 августа 2016 года;
-
{создано_до:2017-02-18} — но до 18 февраля 2017 года.
-
Эти примеры демонстрируют гибкость расширенной системы поиска в BookStack, позволяющей эффективно находить нужную информацию с учетом различных условий и ограничений.