Pull to refresh

Comments 5

Да, у меня тоже урезанный своеобразный regex сделан в ERP системе для той же цели и пользователям даже очень нравится использовать.

Вот часть помощи по поиску:

Найти все трусы по названию продукта

трусы

В данном случае не использовался поиск по ярлыкам, это значит что если есть продукт, в названии которого присутствует буквосочетание трусы, то этот продукт будет показан. Будут найдены все продукты с названием трусы, но так же будут найдены такие продукты как например P&G Comet Средство для туалета 24/7 Уход Сосна и цитрусы 750мл



… более сложно:

Найти все трусы incanto по названию товара с учетом ошибки написания.

«трусы in*anto»

В данном случае будут найден товар, в названии которого присутствует буквосочетание трусы и одновременно присутствует буквосочетание in, после которого в названии найдено буквосочетание anto. Большая вероятность того, что будут найдены только трусы incanto и больше ничего другого.


… и далее…

Найти все черные и все красные трусы по названию товара с учетом изменения написания цвета в зависимости от товара.

«трусы черны|красн»

В данном случае будут найден товар, в названии которого присутствует буквосочетание трусы и одновременно присутствует буквосочетание черны или красн. Это найдет такие товары как Intri Трусы женские АртК173 Черный р-р 108 1шт или Ovi Трусы женские АртDL019 красные р961шт


Найти все черные и все красные трусы 104го размера, по названию.

«трусы черны|красн 104»

В данном случае будут найден товар, в названии которого присутствует буквосочетание трусы и одновременно присутствует буквосочетание черны или красн, но так же присутствует буквосочетание 104. Это найдет такие товары как Ovi Трусы женские АртDL040 черные р104 1шт или Ovi Трусы женские АртDL019 красные р104 1шт


Найти все трусы, которые любого цвета кроме красного.

«трусы! красн»

В данном случае будут найден товар, в названии которого присутствует буквосочетание трусы, но отсутствует буквосочетание красн. Это найдет такие товары к ак Ovi Трусы женские АртDL018 черные р92 1шт, но не найдет Ovi Трусы женские АртDL019 красные р92 1шт




Найти товар по точному названию.

[Ovi Трусы женские АртDL018 черные р92 1шт]

В данном случае будут найден товар, в названии которого присутствует буквосочетание трусы, но отсутствует буквосочетание красн. Это найдет Ovi Трусы женские АртDL018 черные р92 1шт


Найти товар по отдельно стоящему слову, то есть по слову, которое окружено пробелами.

^трусы^

В данном случае будут найден товар, в названии которого присутствует буквосочетание ' трусы ' окруженное пробелами, но отсутствует буквосочетание 'цитрусы'.


Когда я это сделал вначале (года четыре почти назад) думал не будут использовать, оказалось что очень даже пригодилось. Сейчас, когда в системе есть намного более удобные способы нахождения товара, некоторые все равно еще этими выражениями пользуются.
Любопытно. У нас аналогичный поиск есть, только чуть меньше функционала:
операторы ||, && («трусы&&incanto», «кукуруза||фасоль»)
и оператор нечеткого поиска! ("! кукуруза" — найдется «кукуруза», «какуруз.», «кукурузн.» и т.д.)

Эта штука уже лет десять в системе, но пользуются очень не многие. Кстати, посмотреть как такая фильтрация работает можно на примере Universe-HTT. Кнопка товары и в поле «Наименование» ввести строку.

И, кстати, как вы воюете с проблемой скорости поиска по сложным текстовым критериям? В большом справочнике (несколько сотен тыс наименований) это — действительно проблема.
Очень быстро работает, в среднем в день около 80 пользователей запускают в среднем 1800 отчетов, на это уходит меньше 25 минут общего машинного времени (>90% отчетов приходят меньше чем за 1 секунду, 95% выполняются меньше чем 5 секунд, все отчеты выполняются меньше чем за 2 минуты). Активных уникальных SKU 16.5 тысяч, всего уникальных SKU 47000, но как я сказал, это больше всего имело смысл использовать до того, как в системе появились более удобные способы работы, а это было ДО того, как создалась общая база данных. До этого, до того как в каждом магазине была установлена часть системы, которая теперь интегрирует магазины в общую сеть, данные только собирались из разных магазинов из разных систем. На тот момент 12 магазинов, каждый имел свою базу, таким образом товары назывались по разному и были разные цены (даже разные цены входа!) То есть имело наибольший смысл, когда нужно было обьединять в отчетах продажи по разрозненным товарам из разных магазинов. То есть один и тот же товар в 12 магазинах имел разницу в названии и именно для работы с товарами названными по разному, но которые должны были бы быть названы одинаково и был сделан такого рода поиск.

Это означало что (на то время) около 35000 SKU * 12 магазинов нужно было обьединять вместе для поиска товаров, которые шли в отчеты. Скорость была на порядок ниже, то есть около 10 секунд уходило на отчет.
Попытка Master Data Management на коленке? Очень круто на самом деле.
Sign up to leave a comment.

Articles