Как лучше увеличить охват поисковых фраз Wildberries и ускорить?
По вводным: делаем телеграм-бота, который по артикулу WB (nmId) или ссылке показывает, по каким фразам карточка ранжируется, с позицией в органике и фактом рекламы.
По вводным: ограничения: без продавцких токенов, без Jam. Берём только публичные/фронтовые JSON (DevTools), autosuggest, безопасный скрапинг SERP и catalog-ads.
По вводным: что уже реализовано (Node.js, TypeScript):
По вводным: bFS по подсказкам (autosuggest) + нормализация;
По вводным: валидация фраз страницами SERP …/exactmatch/…search?query=&page= (парсинг products[*].id/name/brand и позиция нашего nmId);
По вводным: проверка рекламы отдельным вызовомhttps://catalog-ads.wildberries.ru/api/v5/search?k...По вводным: (если наш nmId среди рекламных — помечаем ⚡; CPM чаще null, знаем);
По вводным: троттлинг Bottleneck (~0.45 RPS/хост), axiOS-retry (экспонента + джиттер);
По вводным: redis TTL-кэш (suggest/serp/card/ads), базовый скоринг;
По вводным: telegram UX: nmId-only → отдаём топ-5 + «Показать больше».
Проблемы:
По вводным: фраз меньше, чем у конкурентов (они показывают ~×3–×4 больше).
По вводным: время первого ответа: конкурент отдаёт топ-5 «мгновенно», а мы ждём BFS/валидацию.
По вводным: гипотеза, к которой идём: мгновенный ответ из индекса/кэша (OpenSearch с russian+shingle(2,3) и Redis Top-K), а глубокий сбор — в фоне.
Просим подсказать:
По вводным: правильная схема прединдекса для «nmId → фразы (2–3-граммы, синонимы, словоформы) → быстрый top-K», какие анализаторы/настройки используете в OpenSearch/ES для русского? (шинглы vs Edge_ngram, стоп-слова, нормализация).
По вводным: параметры SERP-валидации (страницы, dest/spp/lang/curr) и толерантный парсер версий (v18/v4): что сейчас стабильно работает в проде? (мы используем exactmatch-роуты из фронта, как советуют гайды/разборы DevTools).
Нужно понять: реклама: подтверждаем факт через catalog-ads …/api/v5/search?keyword=; видели ли вы стабильные поля CPM публично, или считаем null и живём с эвристикой?
Нужно понять: морфология: что надёжнее для продакшена под русский — pymorphy2 сервисом или достаточно токенизации + шинглов?
Нужно понять: антибот и скорость: какой RPS/хост и backoff даёт наилучший «урожай» без 429/403? Имеет ли смысл пул IP/прокси при соблюдении robots/ToS?
Нужно понять: архитектура очередей (BullMQ): как лучше строить пайплайн (collect → verify → rank → persist), чтобы мгновенно отдавать топ-5 и фоново донаполнять?
Сейчас ситуация такая: контекст для читателей: мы используем публичные фронтовые данные, подсмотренные в DevTools (как в профильных разборах), и не трогаем seller API; цель — легальный, «мягкий» сбор с кэшем и троттлингом.
Habr
По вводным: будем признательны за рабочие настройки анализаторов, примеры маппингов, витрины индекса и цифры по RPS/TTL из реальной практики.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос