Я чувствую себя немного новичком, публикуя это, но в любом случае:
У меня есть большое количество стоковых предметов, 3000-5000, которые имеют сложные имена, основываясь на том, кто вошел в предметы за период16 лет, и пример имени:
"Food, Dog, Pal Meaty Bites chunks 8kg bag"
Другой, связанный элемент называется:
"DOG FOOD: Meaty Bites (Pal) 22kg bag"
Проблема в том, что у меня есть списки товаров от ряда поставщиковс обновленными ценами, которые мне нужны, чтобы соответствовать нашему существующему списку акций.В первый раз, когда я получаю список, я хочу попробовать выполнить поиск «наиболее близкое соответствие» и представить пользователю список наших текущих наименований товарных позиций, которые могут соответствовать названию товарной позиции поставщиков.Затем пользователь выберет правильный номер SKU, а приложение импортирует элемент поставщика и ссылку на нашу таблицу запасов PK.
Имя поставщика также будет отличаться.Например:
"Pal Meaty Bites Chunks 8kg"
Я могу сделать совпадение в SQL или .NET, что вы когда-либо рекомендовали.Я хочу представить пользователю как можно меньше элементов на основе соответствия наибольшего количества ключевых слов.Мои идеи на данный момент таковы:
В .Net: разбить массив и выполнить поиск по каждому ключевому слову для каждого элемента (медленно). В SQL: использовать полнотекстовый индекс и разделить имя на ключевые слова, используя возвращаемый список «ИЛИ».по рангу с отсечкой
Это должно быть распространенным сценарием, я просто не уверен в лучшем способе сделать это.Спасибо за ваш вклад!
Редактировать: Добавлен некоторый контекст: у нас есть таблица SKU, которая имеет около 20 полей, включая StockKeepingUnitID, который является уникальным PK (int identity).Продукты поставщиков помещаются в таблицу с именем StockOrderUnit, которая имеет FK of SupplierID и StockKeepingUnitID и имеет поле с именем SupplierCode (varchar), которое содержит уникальный код поставщиков для этого элемента запаса.Проблема заключается в том, что многочисленные поставщики отправляют нам прайс-листы, и пользователь сам должен сопоставить позиции поставщика (которые на данный момент неизвестны) с уже имеющимися SKU в БД.Как только они выбирают одну, записи объединяются.