Gravity Search, возможности
Возможности
Поиск и релевантность
Поиск по словам и по смыслу. Точные запросы по SKU, названию или бренду сохраняют высокий приоритет. При этом описательные запросы могут находить подходящие товары, даже если пользователь не знает их каталожного названия. Например, запрос «игрушка, чтобы собака не грызла мебель» может находить жевательные игрушки.
Настраиваемый баланс точного и смыслового поиска. Для разных сценариев можно выбирать разное соотношение двух подходов. Запросы по артикулам, моделям и брендам можно обрабатывать строго, а разговорные и проблемно-ориентированные формулировки — сильнее расширять по смыслу.
Приоритеты полей каталога. Можно определить, какие данные участвуют в поиске и насколько они важны: SKU, название, бренд, категория, ключевые слова, характеристики или описание. Например, совпадение в названии может иметь больший вес, чем случайное упоминание той же фразы в длинном описании.
Управляемое ранжирование. На позицию товара могут влиять полнота совпадения запроса, количество опечаток, близость слов, важность поля, положение совпадения внутри поля и точность формулировки. Порядок этих критериев можно менять в зависимости от особенностей каталога.
Персонализация выдачи. Результаты можно дополнительно ранжировать с учётом пользовательского контекста: интересов, просмотренных категорий, истории взаимодействия и явно указанных предпочтений. Профиль пользователя формируется отдельно и передаётся как дополнительный сигнал, не заменяя основной запрос.
Дополнительные сигналы ранжирования. К органической релевантности можно добавлять цену, рейтинг, количество отзывов, скидку, доступность, остатки и другие числовые характеристики. Это позволяет учитывать коммерческие показатели, не заменяя ими соответствие пользовательскому запросу.
Контроль строгости многословных запросов. Можно потребовать совпадения всех слов либо постепенно ослаблять запрос, если точных результатов недостаточно. При ослаблении поиск может убирать последние слова или сначала исключать самые распространённые и наименее информативные термины.
Минимальный порог релевантности. Результаты, которые получили слишком низкую оценку соответствия, можно полностью исключить. Это помогает избежать ситуации, когда после нескольких точных товаров выдача заполняется формально похожими, но неподходящими позициями.
Понимание смысла запроса. Поиск может сопоставлять товары не только по одинаковым словам, но и по смысловой близости. Это помогает находить подходящие позиции по описанию задачи, ситуации использования или ожидаемому результату.
Настраиваемое представление товара для AI-поиска. Можно определять, какие данные формируют смысл товара: название, категория, бренд, назначение, характеристики, материал, страна, описание и другие поля. Это позволяет исключить технический шум и сосредоточить поиск на действительно важных свойствах.
Гибридная выдача. Результаты точного и смыслового поиска объединяются в одну полку. Точные совпадения сохраняют преимущество для SKU, брендов и названий, а смысловой слой дополняет выдачу товарами, которые подходят по назначению.
Настройка доли AI для разных сценариев. Баланс между точностью и смыслом можно менять на уровне отдельного запроса. Для навигационных запросов использовать преимущественно текстовое совпадение, а для описательных — усиливать смысловой поиск.
Несколько AI-моделей для одного каталога. Можно использовать отдельные модели для текста, изображений, разных языков или специализированных товарных категорий. На этапе запроса выбирается модель, наиболее подходящая текущему сценарию.
Поиск похожих товаров. Для любого SKU можно находить товары, близкие по смыслу и характеристикам. Это подходит для блока аналогов, поиска замены отсутствующему товару и расширения выбора внутри одной потребности.
Поиск товара по текстовому описанию изображения. Пользователь может описать внешний вид нужного товара — например, цвет, форму, материал или стиль, — а поиск сопоставит описание с товарными изображениями.
Поиск по загруженной фотографии. Изображение можно использовать как самостоятельный поисковый запрос. Система найдёт визуально похожие товары, даже если пользователь не знает их названия, категории или каталожных характеристик.
Совместный поиск по изображению и тексту. Фотографию можно использовать как визуальный ориентир, а текстом добавить уточнения: другой цвет, нужный размер, конкретный материал, тип питомца или ценовой диапазон.
Объединение текстовых и визуальных результатов. Точный текстовый поиск, смысловой поиск и поиск по изображению можно выполнить параллельно, а затем объединить в одну ранжированную выдачу. Для каждого источника задаётся собственный вес.
Управляемые синонимы. Можно связывать разговорные, профессиональные и каталожные формулировки: например, «без запаха» и «без ароматизатора», сокращённое и полное название категории, русское и английское написание термина. Словари настраиваются отдельно для конкретного каталога и могут обновляться по мере появления новых запросов.
Обработка опечаток. Поиск может находить нужные товары при ошибках в написании. Допуск опечаток регулируется по длине слова и может быть отключён для отдельных терминов или полей.
Строгий поиск по чувствительным данным. Для SKU, брендов, моделей и специальных сокращений можно запретить автоматические исправления. Это снижает риск того, что точный идентификатор будет ошибочно интерпретирован как похожее слово.
Поиск по неполному слову. Последнее слово запроса может восприниматься как незавершённое. Благодаря этому подходящие результаты появляются уже в процессе ввода, до того как пользователь полностью написал название товара или категории.
Собственный словарь терминов. Составные названия, профессиональные сокращения, единицы измерения и специфические обозначения можно зафиксировать как единое понятие. Это особенно важно для брендов и товарных линеек, которые стандартная обработка текста может неправильно разделить на части.
Стоп-слова. Частые слова, не влияющие на выбор товара, можно исключить из поиска. Это уменьшает шум и усиливает влияние действительно значимых частей запроса.
Настройка разбиения текста. Можно управлять тем, какие символы разделяют слова, а какие считаются частью одного термина. Это полезно для названий моделей, составных брендов, размеров, артикулов и специальных обозначений.
Управление выдачей
Структурированные фильтры. Доступны точные условия по наличию, бренду, категории, типу товара, назначению, возрасту, цене и другим характеристикам. Это позволяет отделить обязательные ограничения от текстовой релевантности.
Сложные комбинации условий. Фильтры можно объединять через AND, OR и NOT, передавать списки допустимых значений и числовые диапазоны. Например, искать товары для кошек или универсальные товары, одновременно исключая отсутствующие позиции и отдельные бренды.
Фасеты. Вместе с результатами можно получать распределение товаров по брендам, категориям и характеристикам. Это позволяет строить динамические фильтры и понимать, какие варианты реально присутствуют в текущей выдаче.
Сортировка. Результаты можно перестраивать по цене, рейтингу, количеству отзывов, скидке, остаткам и другим числовым полям. Сортировка может работать самостоятельно или дополнять органическую релевантность.
Централизованные ассортиментные ограничения. Можно исключать отсутствующие товары, отдельные бренды, категории или служебные позиции до этапа ранжирования. Такие правила применяются ко всем запросам и не зависят от того, как пользователь сформулировал потребность.
Удаление дублей. Можно определить поле уникальности и показывать только один результат на SKU, модель или товарную группу. Это предотвращает ситуации, когда несколько почти одинаковых вариантов занимают большую часть первой страницы.
Закрепление товаров на заданных позициях. Для конкретной поисковой формулировки можно вручную поднять один или несколько товаров на выбранные места. Остальная часть выдачи продолжит ранжироваться органически.
Несколько закреплённых позиций. Для одного запроса можно задать последовательность из нескольких товаров. Например, определить первые три результата, не меняя порядок всех остальных найденных позиций.
Управление пересекающимися правилами. Если для одного запроса подходят несколько условий, между ними можно задать приоритет. Правила также можно временно отключать без полного удаления.
Временные кампании. Закрепление товаров может действовать только в заданный период. Это подходит для сезонных предложений, промокампаний, запуска новых продуктов и временных ассортиментных приоритетов.
Настройка выдачи для пустого запроса. Можно определить, какие товары показываются до ввода поисковой фразы. Например, использовать эту область для популярных, сезонных или приоритетных позиций.
Сохранение обязательных ограничений. Ручное закрепление не позволяет обойти фильтры наличия и доступности. Если товар отсутствует или исключён ассортиментными правилами, он не попадёт в выдачу даже при активном закреплении.
Аналитика
Объяснимость позиции товара. Для каждого результата можно получить детализацию ранжирования: сколько слов запроса совпало, были ли исправлены опечатки, насколько близко расположены слова, в каком поле найдено совпадение и насколько точным оно было.
Диагностика проблемной выдачи. Детализация позволяет понять, почему товар оказался выше или ниже: из-за совпадения в названии, смысловой близости, исправленной опечатки, порядка слов или дополнительного сигнала ранжирования. Настройки можно менять на основании конкретной причины, а не вслепую.
Аналитика поискового спроса. Можно отслеживать общее количество поисков и пользователей, наиболее популярные формулировки, число поисковых запросов и распределение активности по времени.
Запросы без результатов. Отдельно фиксируются наиболее частые формулировки, для которых ничего не найдено, и общая доля таких запросов. Это помогает находить потерянный спрос, пробелы в ассортименте, проблемы каталога и кандидатов для новых синонимов.
Качество первых позиций. После подключения событий можно измерять CTR и среднюю позицию клика. Если пользователи регулярно выбирают товары в нижней части выдачи, это сигнал для изменения приоритетов полей или ранжирования.
Конверсия после поиска. Поиск можно связать с целевыми событиями: добавлением в корзину, оформлением заказа или другим бизнес-действием. Это позволяет оценивать не только кликабельность, но и фактическую полезность найденных товаров.
Контроль производительности. Доступны время ответа, количество поисковых запросов и количество найденных результатов. Эти показатели помогают отделять проблемы релевантности от технических задержек.
Контроль режимов и ошибок. Для каждого запроса можно фиксировать используемый режим поиска, переход к резервному режиму и код ошибки. Это позволяет видеть, какая часть поискового контура работала в конкретном случае.
Сравнение изменений на повторяемых сценариях. Настройки можно проверять на постоянном наборе реальных пользовательских запросов: сравнивать исходную выдачу, первые позиции, количество подходящих результатов и выбранные товары до и после изменения.
Безопасное обновление каталога. Новая версия данных сначала строится отдельно. До переключения проверяются обязательные поля, пустые и повторяющиеся SKU, количество документов, контрольные товары и результаты тестовых запросов.
Обновление без остановки поиска. После успешных проверок новая версия каталога переключается целиком. Пользователи продолжают работать с предыдущей версией до момента готовности новой, поэтому частично загруженные данные не попадают в выдачу.
Интеграция
Принцип работы
Структура API не меняется
Для Gravity Search не нужен отдельный Search API. Клиент использует стандартную API v2 кампанию и привычный запрос POST /v2/choose. Меняется только контекст: в нём передаётся тип страницы SEARCH и поисковая фраза.
Параметры контекста
Остальные части запроса — данные секции и пользователя, устройство, options и selector кампании — передаются так же, как для других API-кампаний.
Два массива data
ctx.data содержит текст поискового запроса, а корневой массив data содержит стандартный вызов API-кампании по selector.
Пример запроса и ответа
curl --request POST
--url 'https://evs-01.gravityfield.ai/v2/choose'
--header 'content-type: application/json'
--header 'Authorization: Bearer your-api-key'
--data '
{
"sec": "YOUR_SECTION_ID",
"user": {
"uid": "665f0a000000000000000001",
"ses": "7356efc2-6ffd-4553-bade-b9ab5d9ce141"
},
"ctx": {
"type": "SEARCH",
"data": ["игрушка, чтобы собака не грызла мебель"],
"location": "https://shop.ru/search"
},
"device": {
"ua": "Mozilla/5.0",
"ip": "54.100.200.255"
},
"options": {
"isBuildEngagementUrl": true
},
"data": [
{
"selector": "gravity-search"
}
]
}'
{
"data": [
{
"selector": "gravity-search",
"payload": [
{
"contents": [
{
"products": {
"slots": [
{
"slotId": "665f0f000000000000000001:1",
"item": {
"sku": "sku-456"
},
"events": [
{
"type": "visible_impression",
"urls": [
"https://evs-01.gravityfield.ai/v2/engagement?..."
]
},
{
"type": "click",
"urls": [
"https://evs-01.gravityfield.ai/v2/engagement?..."
]
}
]
}
]
}
}
]
}
]
}
]
}
Обработка ответа
В ответе Gravity Field возвращает товарную выдачу в том же формате, что и для рекомендаций.
Клиент обрабатывает товарные слоты и tracking URL так же, как в рекомендательной кампании.