Как подключить sku-search к 1С за 10 минут
Никакой установки Java, Python или Docker: скачали архив, распаковали, запустили бинарник — и сервис ищет. На подключение к 1С уходит 10–15 минут: либо готовое расширение, либо один HTTP-запрос на BSL.
Шаг 1. Запустить сервис
Скачайте архив Free-версии и распакуйте в любую папку. Дальше:
# Linux / macOS
unzip sku-search-free-*.zip -d sku-search-free
cd sku-search-free
./setup.sh
./bin/linux/sku-service
# Windows (PowerShell)
Expand-Archive -Path sku-search-free-*.zip -DestinationPath sku-search-free
cd sku-search-free
.\setup.cmd
.\bin\windows\sku-service.exe
Откройте http://localhost:8080 — увидите веб-интерфейс с поиском
и метриками.
Шаг 2. Загрузить данные
В архиве есть демо-каталог — начните с него:
./bin/linux/sku-cli import --csv data/demo-data.csv
Для своих данных подготовьте CSV с колонками id,name,art,barcode,code
и любыми дополнительными полями (бренд, размер, ГОСТ). Импорт:
sku-cli import --csv catalog.csv.
Дальше данные можно держать в актуальном состоянии: при создании или изменении
номенклатуры в 1С отправляйте POST /add, при удалении —
POST /delete. Или раз в ночь перезагружайте каталог целиком.
Шаг 3. Подключить к 1С
Вариант А — расширение. В архиве лежит 1c-extension/СКУПоиск.cfe.
Подключается к УТ 11, ERP, БП и КА, умеет искать и добавлять товары в индекс.
Тестировалось на платформе 8.3.27 (УТ 11); для других конфигураций может понадобиться
доработка.
Вариант Б — свой вызов. Сервис общается по HTTP/JSON:
&НаСервере
Функция НайтиПохожиеТовары(Название)
Соединение = Новый HTTPСоединение("localhost", 8080);
Запрос = Новый HTTPЗапрос("/find");
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Запрос.УстановитьТелоИзСтроки(
"{ ""items"": [ { ""name"": """ + Название + """ } ] }");
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Возврат Ответ.ПолучитьТелоКакСтроку();
КонецФункции
Шаг 4. Разобрать ответ
{
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"search_time_ms": 4,
"results": [
{ "query": { "name": "болт м16 цинк" },
"matches": [
{ "original": {
"name_out": "Болт М16х60 оцинк. ГОСТ 7798-70",
"id_out": "DEMO-00002",
"art": "ART-000002",
"score": 0.91,
"matched_by": "fuzzy_text"
} } ] } ]
}
score — степень совпадения (1.0 — идеал, 0 — не похоже),
matched_by — по чему нашлось: exact_art,
fuzzy_text и т. д. Никакого черного ящика: если результат неверный,
оператор нажимает «не то», сервис пишет reject в лог обратной связи,
на основе которого добавляются синонимы.
Шаг 5. Подстроить под свои данные
Основные параметры в config.toml:
fuzzy_max_distance— сколько ошибок в слове допускается. Для кириллицы рекомендуем 2: покрывает «краскаа», «крска», «телефоон».auto_match_threshold— порог надежности результатов, начните с 0.85.enable_attrs_indexing— индексировать дополнительные реквизиты (в поставляемом конфиге включено).case_sensitive_fields— поля, где важен регистр (артикулы, марки, серийники).
Что дальше
- Добавьте синонимы под свою отрасль: «цинк» = «оцинкованный», «нерж» = «нержавеющий».
- Настройте пакетную сверку прайсов и накладных — один
POST /findна несколько сотен строк. - Смотрите
/healthи логи вdata/logs/, чтобы контролировать индексацию и скорость.
Подробности — в документации, готовые вопросы разобраны в первой статье раздела: поиск дублей номенклатуры в 1С.