Версия источника: 613500afd8eca5143b4094f6f5cd48e67844f8ff
Синхронизировано: 2026-11-11T03:48:23.836Z
Источник: https://github.com/sergey-from-riders/vibecoding-base/tree/613500afd8eca5143b4094f6f5cd48e67844f8ff

<a id="interface-natural-search"></a>

# Поиск на естественном языке

## Коротко

Условия поиска задаются понятным текстом и сохраняют точный смысл ограничений.

## Плохо

```text
Запрос: туры на Камчатку до 50000.
После исправления опечатки цена потерялась.
Результаты включают туры за 200000.
```

## Хорошо

```text
Запрос: туры на Камчатку до 50000 ₽.
Условия: направление Камчатка, цена ≤ 50000 RUB.
Все найденные записи удовлетворяют обоим условиям.
```

## Почему

Нечёткое сопоставление текста допустимо для названия, но не для суммы или даты. Поисковый движок сам по себе не определяет смысл человеческой фразы.

## Когда применять

Каталоги с понятными предметными полями. Предпочтителен интерфейс без отдельных фильтров; условия уточняются текстом. При неоднозначной валюте или дате задайте уточнение. OpenSearch полезен для больших каталогов, PostgreSQL допустим для небольших.

## Как проверить

- Проверьте «от», «до», валюту, опечатки и неверную раскладку.
- Неизвестное условие не должно исчезать молча.

## Человек

Задаёт словарь полей, единицы и смысл запросов.

## Агент

Преобразует запрос в проверенные условия; не исполняет произвольный SQL/DSL от модели.

## Пример применения

«Туры на Камчатку от 100000» превращается в текстовое условие направления и числовой диапазон. Ограничения доступа добавляет сервер независимо от распознавания фразы.

## Источники

- [Boolean query | OpenSearch Documentation](https://docs.opensearch.org/latest/query-dsl/compound/bool/)

Уровень: Рекомендуется. Опубликовано: 2026-11-11. Проверено: 2026-11-11. Изменено: 2026-11-11.

[Исходный файл](https://github.com/sergey-from-riders/vibecoding-base/blob/613500afd8eca5143b4094f6f5cd48e67844f8ff/registry/standards/ui/admin-interface/rules/natural-search.md)
