К содержанию

Навигация

Локальный поиск

Docara строит поисковый индекс вместе со статическим сайтом. Поиск работает в браузере, не отправляет запросы во внешний сервис и не требует серверной базы данных.

Включение

Добавьте настройки в docara.json:

JSON
{
  "schema": "docara.site.v1",
  "search": {
    "enabled": true,
    "indexed": true
  }
}
  • enabled показывает кнопку и диалог поиска на страницах текущей области;
  • indexed добавляет страницы области в индекс.

Обе настройки наследуются через section.json и page sidecar. Ветка поддерживает $reset так же, как branding, layout, navigation и settings.

Исключение страниц

Чтобы не показывать раздел в результатах, задайте в его section.json:

JSON
{
  "schema": "docara.section.v1",
  "search": { "indexed": false }
}

navigation.hidden и search.indexed решают разные задачи. Страница может не занимать место в меню, но оставаться доступной по прямой ссылке и через поиск. Обе настройки не являются контролем доступа: собранная HTML-страница и сам JSON-индекс остаются публичными статическими файлами. Не публикуйте в portable site секретные или закрытые данные.

Если поиск включён для locale, но все его страницы исключены, сборка останавливается с SEARCH_INDEX_LOCALE_EMPTY до очистки предыдущего output.

Что индексируется

В индекс входят:

  • title и description страницы;
  • путь разделов из того же дерева, что используется меню;
  • заголовки Markdown;
  • видимый текст абзацев, списков, таблиц и code blocks;
  • текстовые параметры поддержанных Smart-компонентов.

script, style, template, скрытые узлы и технические props не индексируются. Для нового Smart-компонента сначала нужно явно описать его текстовую проекцию; иначе сборка завершится ошибкой вместо неполного индекса.

Работа в браузере

Индекс загружается только после первого открытия диалога. Нажмите кнопку «Поиск» или Cmd/Ctrl + K, введите минимум два символа и используйте стрелки и Enter для перехода. Escape закрывает диалог и возвращает фокус на кнопку.

Поиск нормализует регистр, Unicode и русские е/ё. Результаты ранжируются по title, заголовкам, description и основному тексту. Это локальный полнотекстовый поиск с prefix matching; он пока не заявляет исправление опечаток, морфологию или семантический AI-поиск.

Если поиск не работает

  1. Убедитесь, что search.enabled: true дошло до resolved page plan.
  2. Проверьте наличие _docara/search-index.json и _docara/search.js.
  3. Запустите php vendor/bin/docara verify-static build_production.
  4. Исправьте первый search error code и пересоберите сайт.

Сообщение «Ничего не найдено» означает валидный пустой результат. Сообщение «Поиск временно недоступен» означает, что индекс не загрузился или нарушил закреплённый контракт.

Поиск по документации

Введите минимум 2 символа

    Настройки

    Тема
    Размер шрифта
    Ширина страницы