ТЕХНОЛОГИИ

Text match и BM25 в Milvus: фильтрация не равна ранжированию

В этом материале
ГЛАВНОЕ ЗА МИНУТУ

Milvus Text Match по умолчанию допускает совпадение любого термина, поэтому многословная строка сама по себе не требует всех терминов и не сохраняет порядок фразы.

TEXT_MATCH Milvus фильтрует документы по анализируемым терминам, а BM25 Function предоставляет ранжированный полнотекстовый поиск. Выбор зависит от требуемого условия допустимости или порядка релевантности: общее использование анализатора не делает операции одинаковыми и не позволяет ожидать от фильтра поведения полноценного ранжирования поисковых результатов.

Прочитать фактический смысл предиката

Официальная документация Text Match описывает булево выражение по полю с включённым совпадением. Текущее поведение по умолчанию допускает любой переданный анализируемый термин. Нельзя считать, что строка из нескольких слов требует всех слов или сохраняет их порядок. До применения обязательного технического условия проверяют семантику выражения, особенно при общих терминах разных продуктов. Иначе внешне строгий запрос будет пропускать документы, содержащие лишь часть нужного обозначения и не удовлетворяющие фактическому намерению пользователя.

Отделить ранжирование от допустимости

Руководство полнотекстового поиска описывает путь BM25 Function. Он упорядочивает документы по лексической релевантности, тогда как предикат определяет допустимость записи. Булево совпадение само не даёт такой же сортировки BM25. Сильный BM25-балл, в свою очередь, не доказывает выполнение всех продуктовых условий. Эти роли разделяют в запросе и проверке, чтобы обязательное ограничение не превратилось в слабое предпочтение. Настройку оценок проводят только после подтверждения правильного состава документов, которые вообще имеют право участвовать в поиске.

Проверить многословный запрос оборудования

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

ТребованиеСоответствующая ответственность
Есть допустимый анализируемый терминПредикат текстового совпадения
Упорядочить лексических кандидатовПоиск с BM25
Ограничить редакцию продуктаЯвное условие метаданных
Сохранить отношения фразыДокументированный механизм фразового поиска

Считать анализатор частью схемы

Обзор анализаторов объясняет токенизацию и фильтрацию. Одинаковая видимая строка даёт разные токены при разных правилах. До создания коллекции проверяют язык, пунктуацию и идентификаторы. Текущая документация Text Match указывает фиксацию анализатора для коллекции после определения. Поэтому новой политике нужна осознанная миграция, а не предположение, что изменение клиентского параметра перепишет существующие термины. Это решение сохраняют вместе со схемой и примером токенизации, чтобы будущий разбор не зависел от догадок о прежних настройках индекса.

Проверить состав и порядок отдельно

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

Связанные материалы: Локальный RAG-сервер: какие компоненты размещать рядом с GPU; Эмбеддинги для русского языка: как проверить поиск на своих документах.

← Все материалы