Прошу мастеров помочь с запросом и вообще интересно насколько он реален.
Необходимо сделать синтаксическое сравнение слов и вывести пары, которые отличаются друг от друга не более чем на 2 буквы, даже если они находятся в разных концах слова. Никаких текстовых опций в базе нет. Приведу пример:
из
батон
малако
молоко
коломо
должны выбираться только
малако
молоко
варианты с выборкой только различия только в одной букве тоже приветствуются...
как-то же проверка орфографии работает в текстовых процессорах, они же не только по началу предлагют окончание но и варианты перестановок учитывают, наверняка все же собирается какая-то контрольная сумма
ПыСы в развитие своего предложения порыл чуток:
теория Поиск на неточное соответствие: коды Хемминга
Цитата:
качестве примера хеш-функции можно привести функцию soindex, встроенную в такие СУБД, как Subase, MS SQL Server и Oracle.
необходимо сравнивать несколько критериев сравнения:
1. Название товара разбить на состовляющие:
а) в первом слове названия товара - это вид товара - если он совпадает белее чем на 60% то вес 30ЕД, идем далее
б) остальное название товара состоящие из букв
если одинаковых букв более 30% - 20ЕД
если одинаковых букв более 50% - 30ЕД
если одинаковых букв более 70% - 40ЕД
с) цифры в названии товара приведенне... т..е. 0,1 приводим к 1... 200 тоже к 2... 0,123 к 123, 0,1050 к 1050... если совпадает вес 20ЕД
д) разница в розничной стоимости товара не более 10%, вес 15ЕД
е) шк тоже недолжно содержатся более 7 одинаковых цыфр.. вес 7ЕД
ж) единица измерения - 5ЕД
з) группа классификатора 5ЕД
Если итоговое ЕД более 60 выводить ворниг.. более 80... как пить дать одна фигняюю
как варианиат еще можно сравнивать количество прихода... и.т.д. но направление я думаю понятно..
Столкнулся с задачей поиска наименований по количеству совпадающих слов. Задача аналогичная, прошу подтвердить правильность алгоритма:
список карточек вида:
наименование
наименование второе
... третье
выбираю слова из наименования текущей позиции и с текущей позиции иду вниз, вытаскивая наименования, где выбранные слова попадаются в требуемом количестве. Так? Нет ничего побыстрее?