﻿# Фразовый поиск LanceDB: позиции слов до гибридного ранжирования

Фразовому поиску LanceDB нужен контракт индекса и запроса, сохраняющий позиции слов.

Автор: Команда Retrivium
Обновлено: 2026-11-03
Канонический URL: https://retrivium.ai/ru/journal/lancedb-phrase-search-hybrid-candidates/
Language: ru

Фразовому поиску LanceDB нужен контракт индекса и запроса, сохраняющий позиции слов. Гибридная выдача способна пропустить точную фразу по лексической причине при исправных эмбеддингах, поэтому сначала исследуйте FTS-ветвь, затем настраивайте слияние.

## Различить фразу и отдельные слова

[Полнотекстовый справочник](https://docs.lancedb.com/search/full-text-search) отделяет фразовый запрос от поиска терминов в Lance-based FTS. Фраза задаёт упорядоченное выражение; отдельные слова могут встречаться без нужного соседства. Проверенная документация также предупреждает, что boolean-операторы в поисковой строке не заменяют поддерживаемую нативную настройку. Не переносите грамматику другого backend только по общей метке FTS. Внешне похожий интерфейс не гарантирует, что строка с теми же символами создаст одинаковое условие.

## Сохранить позиции при индексации

Документированный фразовый путь требует позиционного индекса и подходящей обработки стоп-слов, включая `with_position=True` и `remove_stop_words=False`. До оценки запроса подтвердите эти настройки. Кавычки не восстанавливают позиции, которых нет в индексе. При изменении конфигурации сохраняйте поколение индекса рядом с набором проверки. Иначе успешный фразовый результат можно ошибочно приписать только reranker либо новому checkpoint эмбеддингов, хотя изменилось само лексическое представление исходного материала.

## Проверить значимый порядок слов

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

| Вид доказательства | Что показывает лексическая проверка |
|---|---|
| Точная упорядоченная фраза | Совпадение с учётом позиций |
| Те же слова в других местах | Отличие от смысла фразы |
| Перефразирование | Граница возможностей лексической ветви |

## Сохранить входы hybrid

[Руководство гибридного поиска](https://docs.lancedb.com/search/hybrid-search) описывает семантическую и keyword-ветви до объединения. Экспортируйте лексических кандидатов отдельно и проверьте полученную этой ветвью строку. Отсутствие фразы здесь не означает автоматически ошибку векторной модели. Напротив, dense-hit способен скрыть дефект FTS, вернув полезный документ другим путём. При приёмке сохраняйте оба объяснения, иначе исправный конечный ответ оставит непроверенной одну из частей поискового контракта.

## Применять reranking по назначению

[Документация повторного ранжирования](https://docs.lancedb.com/reranking) описывает ещё одну операцию над найденными материалами. Она меняет порядок переданных кандидатов, но не делает неподдерживаемый синтаксис FTS правильным. Оценивая новый reranker, оставляйте конфигурацию и кандидатов FTS неизменными. Иначе сравнение ранжирования может случайно измерить перестроенный позиционный индекс либо новую обработку токенов вместо нужного скорера. Разделение опытов позволяет обоснованно указать, какой компонент восстановил требуемое доказательство.

## Оставить разные проверочные наборы

Храните режим, исходную строку, опции токенизатора и индекса, ожидаемые документы каждого случая. После миграции парсера или схемы повторяйте фразовые примеры вместе с семантическими вопросами. Укажите проверенную грамматику и реализацию FTS установленной версии. Такая запись делает отказ точной фразы объяснимым и не позволяет общему названию hybrid search скрыть несовместимые предположения о терминах, позициях и исходных доказательствах.

Связанные материалы: [Локальный RAG-сервер: какие компоненты размещать рядом с GPU](/ru/journal/rag-server-local-architecture/); [Эмбеддинги для русского языка: как проверить поиск на своих документах](/ru/journal/embeddings-russian-retrieval/).
