Техническое задание: Реализация поиска на Elasticsearch

Общая задача

Необходимо разработать серверный модуль (микросервис или часть существующего API) для организации мощного и точного поиска товаров в интернет-магазине строительных материалов. Решение должно быть построено на стеке Node.js и Elasticsearch версии 9.

Блок 1: Конфигурация индекса Elasticsearch

Требуется создать индекс products со следующей кастомной настройкой:

Фильтры символов (Char Filters)

  • dimension_fixer: Нормализация обозначений размеров. Замена кириллических символов 'х' и 'Х' на латинскую 'x' (например, преобразование '250х120' в '250x120').

Анализаторы (Analyzers)

  • klavka_text: Для обработки названий и описаний товаров.
    Цепочка обработки:
    1. Char Filter: dimension_fixer
    2. Tokenizer: standard
    3. Filters: lowercase, synonym_graph (с подключением словаря синонимов, например: тротуарка=плитка), russian_stop, russian_stemmer.
  • klavka_tech: Для технических полей (марки, коды спецификаций).
    Цепочка обработки:
    1. Tokenizer: whitespace
    2. Filter: lowercase
    Важно: Стемминг (отсечение окончаний) применяться не должен, чтобы сохранять точные значения, такие как 'M150'.

Сопоставления полей (Mappings)

  • specs_code (text): Технические коды, марки. Используется анализатор klavka_tech.
  • dimensions (keyword): Нормализованные размеры.
  • name, description (text): Используется анализатор klavka_text.
  • brand (keyword + text): Производитель.
  • in_stock (boolean): Наличие на складе.

Блок 2: Разработка API

Требуется реализовать API-эндпоинты для поиска, которые будут взаимодействовать с настроенным индексом. Логика должна включать предварительную обработку (препроцессинг) поисковых запросов пользователя для повышения релевантности результатов.

Комплексное продвижение добывающей компании: SEO, Email и PR

Требуется опытный специалист или команда для комплексного продвижения компании-производителя нерудных материалов. Необходимо повысить узнаваемость бренда и привлечь новых клиентов через digital-каналы.

Разработка скрипта для автоматического бронирования времени пересечения границы

Требуется создать автоматизированный скрипт для записи транспортного средства на проезд через контрольно-пропускной пункт на официальном государственном портале. Скрипт должен мониторить и захватывать свободные слоты.