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

Переранжирование

Переупорядочивание первой страницы вашим cross-encoder'ом — настройки, HTTP-контракт, таймауты и диагностика.

Реранкер пересчитывает top-N первой страницы моделью cross-encoder на вашем HTTP-эндпоинте. Это не LLM: горячий путь поиска остаётся быстрым.

Индекс → Настройки поиска → Reranking (settings.search.rerank): enabled, provider: "http", url (https://, либо http://localhost вне production), model, topN 1–50, timeoutMs 10–150, fields до 8.

POST <url>
Content-Type: application/json

{ "query": "trail shoe", "documents": [{ "id": "sku-1", "text": "Trail shoe\nAcme" }], "model": "bge-reranker-v2-m3" }
{ "scores": [0.91] }
  • Отправляются хиты после ACL, фильтров и правил; закреплённые/скрытые правилом остаются на местах. text — fields через \n, до 2000 символов; приватные поля для непривилегированного вызова не отправляются.
  • Ровно одно число на документ в том же порядке; больше — выше.
  • Таймаут, не-200, неверный JSON или длина → исходный порядок и "rerank": "skipped:<timeout|http_<код>|bad_json|bad_shape|unsafe_url|error>"; успех — "rerank": "applied". Пропущенный ответ не кладётся в кэш результатов.
  • Документы не добавляются, found не меняется, страницы > 1 не трогаются.
  • Сдвинутые хиты получают hit_reasons[].kind = "rerank"; explain=true даёт explain.rerank = { applied, topN, tookMs, skipped? }.

Ограничение: включённое разнообразие (MMR) применяется после реранкера и может снова переставить хиты.