Поиск по неявному совпадению названий. Какие способы есть?

1. ISP 02.11.21 09:47 Сейчас в теме
Название номенклатуры в внешнем файле

Саморез 4,8*35 цвет красное вино (RAL 3005)

В базе
Саморез 35*4,8 (уп. 250 шт.) (производство) красное вино

Надо сделать систему, чтобы предлагала максимально похожие варианты позиций на название во внешнем файле.

Какие инструменты есть для неявного сопоставления названий ? Полнотекстовый поиск. Что еще ?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. lefthander 02.11.21 09:55 Сейчас в теме
(1)в запросе есть такая фишка ПОДОБНО, попробуйте ее.
user1671936; +1 Ответить
3. AnryMc 848 02.11.21 10:48 Сейчас в теме
(1)
Какие инструменты есть для неявного сопоставления названий ? Полнотекстовый поиск. Что еще ?


Делал средствами 1С. Работает - но очень долго... (Описание алгоритмов есть на данном сайте)

Есть внешние компоненты - они быстрее (то же в наличии на сайте)
4. gybson 02.11.21 10:48 Сейчас в теме
Разбить строки на слова и считать сколько совпало. В данном примере у нас совпадет Саморез,4.8, 35, красное, вино, предположим, что хватит и 4 и вперед.
starik-2005; user1671936; FatPanzer; SlavaKron; +4 Ответить
5. FatPanzer 02.11.21 11:08 Сейчас в теме
(4) Ну это смотря какой разделитель использовать... Если убрать "*" и "," - то "35" совпадет, а вот "4,8" - нет.
Но метод годный да, если с умом.
6. SlavaKron 02.11.21 12:46 Сейчас в теме
Поддержу вариант из (4). Только слова нужно обрабатывать, получать своего рода хеши слов, например: обрезать окончания, приводить к одному регистру, заменять ё на е, избавляться от "ь" и "ъ" и т.д. Должно получиться примерно как на скрине.
Прикрепленные файлы:
7. gybson 02.11.21 14:56 Сейчас в теме
(6) ну тогда уж сразу и символы латиницы на кирилицу менять, их может и неожиданно много оказаться =)
starik-2005; +1 Ответить
8. SlavaKron 02.11.21 15:20 Сейчас в теме
(7) Само собой. Те же размеры 4,8*35, могут быть записаны и как 4,8х35, где "х" может быть как русская, так и латинская. Или, если в наименовании имеется какая-то маркировка, то запросто может быть человеческая ошибка из-за одинакового начертания символов (A,B,C,E,H,K,M,O,P,T,X,Y).
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот