powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Поиск (нечеткий) в колонке по содержимому
11 сообщений из 11, страница 1 из 1
Поиск (нечеткий) в колонке по содержимому
    #39883624
Kostya555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Может быть уважаемые смогут натолкнуть на правильное направление движения,

Исходные данные есть 2 таблицы:

TASK (задача) ~ 200 строк

ID (number) - PK
FULLNAME (varchar2 (2000)) - наименование задачи

Organization (Организации) ~ 900 строк
ID (number) - PK
FULLNAME (наименование организации полное)

В таблице TASK в наименованиях задач внутри текста задачи встречаются наименования организаций.
Пример: Выполнение работ по поставке "Рогов и копыт", АО "Гринпис".

Но поскольку в таблице "Организации" данные актуализируются существенно чаще таблицы - "Задача", то наименования организаций (в TASK) иногда устаревают.

Заранее предвосхищая вопрос - почему нельзя вставить наименование организаций в таблицу TASK - т.к. в TASK-e наименования могут быть в другом падеже, где то с точкой и пр. и пр.
Задача - помочь пользователям БД в ловле таких блох и поиску таких "невязок в названиях организаций"
Итого - нужен скрипт (запрос) который бы бежал по таблице организации и находил "похожие - т.е. нечеткое совпадение" (например в таблице TASK - Организация: ЗАО "Рога и копыта", в реальности в таблице Организации оно уже АО "Рога и копыта"

Подтолкните к мысли как корректно решить задачку...
...
Рейтинг: 0 / 0
Поиск (нечеткий) в колонке по содержимому
    #39883634
Фотография Кобанчег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kostya555,

Код: plaintext
utl_match.edit_distance
...
Рейтинг: 0 / 0
Поиск (нечеткий) в колонке по содержимому
    #39883637
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kostya555Заранее предвосхищая вопрос - почему нельзя вставить наименование организаций в таблицу TASKТолько дурак может предвосхищаться дуростью.Kostya555ID (number) - PKЧто такое "PK"?Kostya555TASK (задача) ~ 200 строкПри скорочтении одна строка в 7 минут за сутки можно все перепроверить и еще останется время кофе попить.
...
Рейтинг: 0 / 0
Поиск (нечеткий) в колонке по содержимому
    #39883665
Kostya555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-, при всем к вам уважении, ваш ответ попахивает снобизмом а не реальной помощью по вопросу....
Про 7 минут понятно я про автоматизацию и возможность свести к минимуму человеческий фактор...

PK - primary key (хотя не знаю зачем я это вставил.. так...для задачки это не нужно)
...
Рейтинг: 0 / 0
Поиск (нечеткий) в колонке по содержимому
    #39883691
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kostya555Подтолкните к мысли как корректно решить задачку...
добавить ссылку на организацию в таблицу задач, чтобы больше никогда так не париться.
существующие задачи просмотреть глазами и, если необходимо, вбить организацию руками.
...
Рейтинг: 0 / 0
Поиск (нечеткий) в колонке по содержимому
    #39883721
Kostya555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходил мимо... - проблема в том, что наименование организации может встречаться внутри текста задачи с разными падежами, склонениями и пр.., тогда как справочник организация - всегда как в уставе организации..
...
Рейтинг: 0 / 0
Поиск (нечеткий) в колонке по содержимому
    #39883840
gorazd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как разгрести не знаю. А на будущее лучше добавить еще одно поле в таблицу задач, где будет фиксироваться код организации исполнителя сразу при заполнении.
...
Рейтинг: 0 / 0
Поиск (нечеткий) в колонке по содержимому
    #39883844
gorazd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут обсуждалось похожая тема https://www.sql.ru/forum/447639/opredelit-pohozhest-strok-chastichnoe-sovpadenie
...
Рейтинг: 0 / 0
Поиск (нечеткий) в колонке по содержимому
    #39883847
gorazd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вариант, в виду ограниченного объема, загрузить 2 таблицы в Exel и сравнить единоразово там.
Для экселя есть скрипты сравнения строк на схожесть.
Или на Python-е сделать. Ну а в дальнейшем вести базу корректно, добавляя код фирмы в строку задачи.
...
Рейтинг: 0 / 0
Поиск (нечеткий) в колонке по содержимому
    #39884571
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kostya555наименование организации может встречаться внутри текста задач
не наименование внутри текста, а внешний ключ в таблице задач на таблицу организаций.
...
Рейтинг: 0 / 0
Поиск (нечеткий) в колонке по содержимому
    #39884892
dimyaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходил мимо...,

почитайте сначала про "Расстояние Левенштейна" и другие сравнения строк , а потом про их имплементации в Oracle.
Но по хорошему это должна быть только разовая акция по поиску такой фигни, а сначала нужно навести порядок в архитектуре приложения.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Поиск (нечеткий) в колонке по содержимому
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]