﻿# Фильтрованный поиск Weaviate: sweeping, ACORN и PathSeer

У фильтрованного HNSW Weaviate несколько стратегий обхода, поэтому выбор ACORN не равен простому включению общего фильтра.

Автор: Команда Retrivium
Обновлено: 2026-11-03
Канонический URL: https://retrivium.ai/ru/journal/weaviate-filter-strategies-acorn-pathseer/
Language: ru

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

## Разделить допуск и обход

[Описание фильтрации](https://docs.weaviate.io/weaviate/concepts/filtering) рассматривает заранее вычисленные допустимые идентификаторы, используемые векторным поиском. Предикат определяет возвращаемые объекты, а обход — исследование графа. Более быстрый путь не должен менять разрешённую популяцию. Проверьте смысл allow-list на известных объектах до интерпретации времени либо полноты. Иначе ошибочное условие способно выглядеть быстрым просто потому, что решает другую, более лёгкую задачу и исключает трудные документы ещё до поиска.

## Объяснить документированные различия

Sweeping обходит граф с контекстом фильтра. ACORN избегает вычисления расстояний для неподходящих объектов и использует дополнительное исследование соседства вместе с допустимыми входными точками. PathSeer меняет обработку соседей по мере заполнения результатов. Эти механизмы сокращают разные виды лишней работы. Они не являются названиями одного post-filter. Тесты производителя могут мотивировать опыт, но не устанавливают самый быстрый вариант для другого корпуса, распределения предикатов и требуемого качества выдачи.

## Проверить доступность и конфигурацию

[Справочник векторного индекса](https://docs.weaviate.io/weaviate/config-refs/indexing/vector-index) перечисляет `filterStrategy` с версионными границами. Проверенные страницы называют ACORN значением по умолчанию с 1.34, а PathSeer — добавлением 1.40. До сравнения сохраните установленный выпуск и явные настройки. Принятое клиентом поле не доказывает реализацию старым сервером нужного поведения. Не допускайте скрытого сравнения запрошенной стратегии с другим действующим значением по умолчанию, которое осталось в фактическом профиле узла.

## Создать разные формы фильтра

Подготовьте учебные запросы с широким условием, узким тематически связанным условием и узким предикатом, допустимые объекты которого удалены от обычного соседства запроса. Векторы и точный фильтрованный эталон должны совпадать. Записывайте восстановленные релевантные идентификаторы и фактическую работу поиска. Одна избирательность не описывает отношения предиката с векторным графом, поэтому одинаковая доля допустимых записей не гарантирует одинаковый характер задачи или результат выбранного обхода.

| Свойство предиката | Практическое значение |
|---|---|
| Широкий допуск | Многие соседи графа полезны |
| Тематическая связь | Допустимые объекты могут быть рядом |
| Отрицательная связь | Подходящие объекты труднее достигнуть |

## Сохранить границу реализации

[Первичный репозиторий Weaviate](https://github.com/weaviate/weaviate) вместе с выпуском помогает отделить реализованное поведение от статьи, вдохновившей алгоритм. Разные реализации не обязаны иметь одинаковые настройки или гарантии. Записывайте глубину поиска каждого опыта: её изменение одновременно со стратегией скрывает компромисс. Если набор возвращает нужное количество строк, но пропускает размеченное доказательство, одно количество не является приёмкой выбранного пути и не заменяет контроль правильных идентификаторов.

## Выбрать по проверенной нагрузке

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

Связанные материалы: [Память векторной базы: как выбрать RAM и диск для поиска](/ru/journal/vector-database-memory-hosting/); [Локальный RAG-сервер: какие компоненты размещать рядом с GPU](/ru/journal/rag-server-local-architecture/).
