Перейти к содержимому

API: Полнотекстовый поиск

API: Полнотекстовый поиск

Требуется авторизация. Результаты фильтруются по правам пользователя на ресурс.

GET /api/v1/search

ПараметрОписание
qСтрока поиска (минимум 2 символа)
limitМакс. результатов (1–50, по умолчанию 30)

Пример:

Окно терминала
curl "http://localhost:8080/api/v1/search?q=задачи" \
-H "Authorization: Bearer $TOKEN"

Ответ:

{
"success": true,
"data": [
{
"resourceType": "list",
"resourceId": "uuid",
"nodeId": "uuid",
"title": "Задачи",
"snippet": "…демонстрационный список…",
"url": "/portal/lists/tasks",
"rank": 0.12
}
],
"meta": { "query": "задачи" }
}

Индексация (search-crawler)

Служба search-crawler в Service Framework индексирует:

  • узлы (title, description);
  • списки и элементы списков;
  • страницы (HTML → текст);
  • библиотеки и файлы (имя + текстовое содержимое для text/*).

Ручной запуск: Админка → Службы → «Поисковый индекс» → Запустить.

Cron: настройка расписания на той же вкладке (job type: searchCrawler.run).

Индекс хранится в PostgreSQL (portal_search_index, GIN + tsvector).

UI

Поле поиска в верхней панели → /search?q=…