AACSearch
Руководства

Кэш результатов

Как повторные поиски отдаются из кэша, как кэш сбрасывается при каждой записи и как настроить cacheTtl.

Два слоя: кэш результатов в Redis (ключ = организация + индекс + ревизия + хэш нормализованного запроса) и кэш движка (use_cache, cache_ttl). Оба используют cacheTtl индекса.

Свежесть. Любая запись увеличивает ревизию индекса: документы, настройки, схема, профили, правила, синонимы, курирование, пресеты, стемминг, переключение алиаса. Старые записи кэша сразу становятся недостижимы.

Не кэшируются: запросы с ACL-принципалами, с session_id (персонализация), explain=true, индексы с cacheTtl: 0, ответы с пропущенным реранкером.

Биллинг. Ответ из кэша — оплачиваемый поиск: квота резервируется и списывается, запрос логируется.

Настройка: Индекс → Настройки поиска → Cache TTL (settings.search.cacheTtl, секунды): по умолчанию 60, 0 — выключено, максимум 86400.

Доля попаданий — в аналитике консоли; оператору — aacsearch_cache_events_total в Prometheus-формате /metrics.