Поиск и фильтры
Omnismith предоставляет динамический движок запросов для поиска сущностей по шаблонам. Вы можете комбинировать глобальный полнотекстовый поиск с фильтрами по полям и настраиваемой сортировкой.
1. Возможности запросов
Заголовок раздела «1. Возможности запросов»Глобальный полнотекстовый поиск
Заголовок раздела «Глобальный полнотекстовый поиск»- Введите поисковые ключевые слова в строку поиска в верхней части любого экрана сущностей.
- Поиск выполняется по текстовым атрибутам (Измерениям), меткам списков и отображаемым именам ссылок.
Чипы фильтров атрибутов
Заголовок раздела «Чипы фильтров атрибутов»Фильтруйте сущности по условиям конкретных атрибутов с помощью операторов сравнения:
| Тип атрибута | Доступные операторы | Пример условия |
|---|---|---|
| Строка (String) | Равно, Содержит, Начинается с, Пусто | Hostname содержит "prod" |
| Число / Метрика | =, >, <, >=, <=, Между | CPU Usage > 80 |
| Список (List) | Входит в, Не входит в, Пусто | Status входит в [Online, Degraded] |
| Дата / Время | Раньше, Позже, Между, Сегодня | Created Позже 2026-01-01 |
| Ссылка (Reference) | Равно, Входит в, Без ссылки | Customer = ООО Вектор |
2. Пошаговое составление фильтра
Заголовок раздела «2. Пошаговое составление фильтра»- Перейдите в Операции с Сущностями → Сущности и выберите шаблон.
- Нажмите + Добавить фильтр рядом со строкой поиска.
- Выберите атрибут (например,
Status), оператор (например,Равно) и значение (например,Online). - Добавляйте дополнительные чипы фильтров для построения составных условий (логическое
И). - Кликайте по заголовкам колонок для настройки направления сортировки (по возрастанию / по убыванию).

3. Семантический векторный поиск (Поиск по смыслу)
Заголовок раздела «3. Семантический векторный поиск (Поиск по смыслу)»Помимо классического поиска по ключевым словам, Omnismith предоставляет встроенный Семантический векторный поиск:
- Режимы поиска:
- Режим ключевых слов (Keyword): Точное совпадение слов и поиск по подстрокам полей.
- Семантический режим (Semantic): Ищет записи по концептуальному смыслу, синонимам и описанию симптомов (например, запрос “перегрев и троттлинг процессора” находит записи с описанием “снизилась скорость кулера; пик температуры CPU 98°C”).
- Ранжирование по косинусному сходству: Результаты сортируются по уровню семантического соответствия (от
0.0до1.0/ процент соответствия). - Корпоративная безопасность и контекст: Векторные запросы строго соблюдают права RBAC и правила разграничения доступа к записям на уровне проекта.

Программный API семантического поиска (POST /api/v1/entities/semantic-search)
Заголовок раздела «Программный API семантического поиска (POST /api/v1/entities/semantic-search)»Внешние приложения, ИИ-агенты и автоматизации могут выполнять семантический поиск, передавая 768-мерный вектор эмбеддинга:
curl -X POST "https://api.omnismith.io/api/v1/entities/semantic-search" \ -H "Authorization: Bearer omni_live_secret_key_12345" \ -H "Content-Type: application/json" \ -d '{ "query_vector": [0.042, -0.015, 0.089, ...], "template_id": "server_node", "limit": 10, "threshold": 0.65, "attribute_key": "slug" }'[ { "similarity_score": 0.942, "entity": { "id": "019fe207-38eb-7182-9a5f-70cdaeea34f2", "template_slug": "server_node", "attribute_values": { "hostname": { "value": "prod-worker-04" }, "issue_description": { "value": "Fan RPM degraded; temperature spike causing throttling" } } } }]4. Программный поиск и фильтрация по слагам
Заголовок раздела «4. Программный поиск и фильтрация по слагам»Search API (POST /api/v1/entities/search/{templateId}) поддерживает фильтрацию напрямую по attribute_slug:
curl -X POST "https://api.omnismith.io/api/v1/entities/search/server_node" \ -H "Authorization: Bearer omni_live_secret_key_12345" \ -H "Content-Type: application/json" \ -d '{ "global_search": "prod", "filters": [ { "field": "cpu_usage", "operator": "gt", "value": "80" }, { "field": "status", "operator": "eq", "value": "Online" } ], "attribute_key": "slug" }'Поддерживаемые операторы фильтрации:
Заголовок раздела «Поддерживаемые операторы фильтрации:»eq/neq: Точное совпадение / не совпадаетgt/lt: Сравнение чисел (больше / меньше)like/not-like: Поиск по подстрокеempty/not-empty: Проверка на пустое / непустое значение