Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск и сопоставление по текстовым полям / 9 сообщений из 9, страница 1 из 1
05.03.2020, 15:05
    #39934699
Владимир_VS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и сопоставление по текстовым полям
Добрый день!
Существуют таблицы Договоров с полем [номер договора] varchar(50) и Платежей с полем [назначение платежа] varchar(8000). В тексте произвольной формы [назначение платежа] содержится значение [номер договора].
Записей по договорам сотни тысяч, по платежам миллионы.
Рассматривается вариант полнотекстового поиска, но из-за постоянного изменения таблице платежей встал вопрос о его работоспособности. Т.к. необходимо будет обновлять индексы по большому количеству записей. Также назначение платежа может содержать несколько номеров договоров.

Подскажите возможные варианты определения договора по тексту назначения платежа?
И какой из вариантов будет наиболее оптимальным?
...
Рейтинг: 0 / 0
05.03.2020, 15:21
    #39934718
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и сопоставление по текстовым полям
Владимир_VS
Подскажите возможные варианты определения договора по тексту назначения платежа?
1. Распарсить [назначение платежа] на слова по разделителям.
2. Искать по полученным словам строки в таблице договоров.
...
Рейтинг: 0 / 0
05.03.2020, 15:29
    #39934727
Владимир_VS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и сопоставление по текстовым полям
По сути необходимы подобные действия, которые выполняются при создании полнотекстового индекса. Но без самого полнотекстового индекса.

Может есть подобный функционал?
...
Рейтинг: 0 / 0
05.03.2020, 15:54
    #39934745
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и сопоставление по текстовым полям
Владимир_VS,

разбирайте каждую запись на слова при загрузке, заполняйте связанную таблицу разобранными данными, отбрасывайте заведомо неподходящие значения (SSIS пакет). Затем запросом выбирайте подходящие строки по сравнению с имеющимися номерами.
...
Рейтинг: 0 / 0
05.03.2020, 16:28
    #39934776
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и сопоставление по текстовым полям
Владимир_VS
По сути необходимы подобные действия, которые выполняются при создании полнотекстового индекса. Но без самого полнотекстового индекса.
А почему "без самого полнотекстового индекса"? Это условие учебной задачи?
Владимир_VS
Подскажите возможные варианты определения договора по тексту назначения платежа?
И какой из вариантов будет наиболее оптимальным?
Варианты - парсить, и получать результат исследования данных с некой степенью достоверности.
Наиболее оптимальный путь - поменять модель данных, сделав правильные структуры для номеров договоров назначения платежа, и для других данных, связанных с договором.
...
Рейтинг: 0 / 0
10.03.2020, 17:07
    #39936029
Владимир_VS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и сопоставление по текстовым полям
alexeyvg
А почему "без самого полнотекстового индекса"? Это условие учебной задачи?


Полнотекстовый индекс необходим для данных которые будут постоянно обновляться. Соответственно, его обновление может занимать бОльшую часть времени. А платежи требуется сопоставлять с договорами за конкретно заданные временные рамки.
...
Рейтинг: 0 / 0
10.03.2020, 17:12
    #39936032
Владимир_VS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и сопоставление по текстовым полям
Владислав Колосов
Владимир_VS,

разбирайте каждую запись на слова при загрузке, заполняйте связанную таблицу разобранными данными, отбрасывайте заведомо неподходящие значения (SSIS пакет). Затем запросом выбирайте подходящие строки по сравнению с имеющимися номерами.


А можно подробнее о "SSIS пакет" и его практическом применении?
...
Рейтинг: 0 / 0
10.03.2020, 18:26
    #39936060
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и сопоставление по текстовым полям
Владимир_VS,

Обучалка от разработчика SQL https://docs.microsoft.com/ru-ru/sql/integration-services/lesson-1-create-a-project-and-basic-package-with-ssis?view=sql-server-2017

Для анализа текста можно использовать задачу скрипта.
...
Рейтинг: 0 / 0
10.03.2020, 18:49
    #39936065
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и сопоставление по текстовым полям
Владимир_VS
alexeyvg
А почему "без самого полнотекстового индекса"? Это условие учебной задачи?

Полнотекстовый индекс необходим для данных которые будут постоянно обновляться. Соответственно, его обновление может занимать бОльшую часть времени. А платежи требуется сопоставлять с договорами за конкретно заданные временные рамки.
Вы имеете в виду, что кроме номеров договоров, в полнотекствоый индекс войдёт и все остальные слова?
Да, это недостаток.
Тогда нужно делать свою полнотекстовую индексацию (выковыривающую только номера договоров).


Владимир_VS
Владислав Колосов
разбирайте каждую запись на слова при загрузке, заполняйте связанную таблицу разобранными данными, отбрасывайте заведомо неподходящие значения (SSIS пакет). Затем запросом выбирайте подходящие строки по сравнению с имеющимися номерами.

А можно подробнее о "SSIS пакет" и его практическом применении?
SSIS пакет - это Владислав Колосов предложил пример реализации.
Можно вместо SSIS пакета написать программу на C++ или Java, и запускать на сервере, или на отдельной Линукс-машине.
Ключевое тут не "SSIS пакет", а "разбирайте каждую запись на слова при загрузке".
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск и сопоставление по текстовым полям / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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