powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Нашел алгоритм, но он на mssql
25 сообщений из 65, страница 1 из 3
Нашел алгоритм, но он на mssql
    #39787687
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Необходимо реализовать в fb2.5
Помогите пожалуйста!
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
create procedure LevenshteinDistance(@string1 varchar(4000), @string2 varchar(4000))
as
begin
    set nocount on

    if (@string1 is null) Raiserror ('Строка 1 не должна быть пустой', 16, 1);
    if (@string2 is null) Raiserror ('Строка 2 не должна быть пустой', 16, 1);

	declare @diff int
	declare @len1 int
	declare @len2 int

	set @len1 = len(@string1)
	set @len2 = len(@string2)

	declare @m table (i int, j int, val int)

	declare @i int, @j int

	set @i = 0
	while (@i <= @len1)
	begin
		delete @m where i=@i and j=0

		insert into @m (i, j, val)
		values (@i, 0, @i)
		set @i = @i + 1
	end

	set @j = 0
	while (@j <= @len2)
	begin
		delete @m where i=0 and j=@j

		insert into @m (i, j, val)
		values (0, @j, @j)
		set @j = @j + 1
	end


	set @i = 1
	while (@i <= @len1) begin
		set @j = 1
		while (@j <= @len2) begin

			if (substring(@string1, @i, 1) = substring(@string2, @j, 1))
				set @diff = 0
			else
				set @diff = 1


			declare @minval int

			select @minval = min(val)
			from (
					select isnull(val, 0) + 1 as val
					from @m
					where i = @i-1 and j = @j

					union

					select isnull(val, 0) + 1 as val
					from @m
					where i = @i and j = @j-1

					union

					select isnull(val, 0) + @diff as val
					from @m
					where i = @i-1 and j = @j-1
				) t

			delete @m where i=@i and j=@j

			insert into @m (i, j, val)
			values (@i, @j, isnull(@minval, 0))

			set @j = @j + 1
		end
		set @i = @i + 1
	end

	declare @retval int
	select @retval = isnull(val, 0)
	from @m
	where i = @len1 and j = @len2

	return @retval
end


Пытался реализовать, менял функции и т.д.
Но все безрезультатно (
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787689
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, тут программист нужен (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787695
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alepawka,

проще написать UDF. На PSQL реализацию таких вещей не эффективна.
То что написано на MS SQL адский ад какой-то
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787697
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
Подскажите, в каком направлении идти
Я просто только недавно начал вникать в fb
Что читать, как разработать, и т.д.
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787701
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787715
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
Спасибо,но это я уже читал
И не раз
Я видел, там написано про внешние функции.
Много гуглил про sphinx. Почему я его не установил? Не знаю. Просто я так и не нашел точного синтаксиса его использования в запросах на Firebird.
Вам доводилось использовать sphinx? Там, я как понял, необходимо докачивать доп файлы, чтоб работал на fb. Или как?
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787718
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забудь про этот "алгоритм", который нашел.
пиши курсач.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787739
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,
Так, а как писать, если алгоритм не реализован?
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787743
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если тебе нужен сфинкс, бери и пользуй сфинкс.
https://www.firebirdsql.org/en/other-downloads/
а этой портянкой говнокода тут не размахивай.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787745
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alepawka,

в чём суть вашего диплома? Если не чёткий поиск и есть главная задача, то читайте то, что вам препод диктовал и реализуйте по его алгоритмам. Готовые реализации, которые используются в промышленных системах тут не подойдут, иначе это не ваша работа и ценность её нулевая. А если это маленькое не обязательное условие, то поинтересуйтесь у препода что использовать, а то может оно и вообще не нужно.
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787754
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlepawkaСимонов Денис,
Подскажите, в каком направлении идти
Я просто только недавно начал вникать в fb
Что читать, как разработать, и т.д.
Как ты уже понял в FB для решения твоей задачи ничего вспомогательного нема.
Поэтому предлагаю поискать сначала отвлеченные математические алгоритмы нужного направления, ну, например,
на тему "SQL алгоритмы нечеткого поиска". Их там хватает. Выбери тот, который, на твой собственный взгляд,
ты способен переварить и начинай реализовывать средствами FB. И тогда, может быть, тебе в чем то здесь и помогут.
По мелочам. Да, и кстати, лично я бы реализовывал, по крайней мере на первых порах, именно через SDF, а не UDF.
Тебе ведь не скорость сейчас важна, а удобство реализации.
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787755
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad Fименно через SDF, а не UDF
У него fb2.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787758
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18.03.2019 13:43, Шавлюк Евгений пишет:
> У него fb2.5

не думаю, что в ТЗ у него это "ЖОСТКО" прописано
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787781
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений,

У него там диплом, а не продакшн. Для успеха диплома можно и подсуетиться, имхо.))
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39787801
Filippov Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alepawka,

можно переписать и на FB.
Почём?
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788098
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
Нет, это не главное, скорей второстепенное. Суть диплома - разработка приложения на lazarus + fb. Одна из задач - поиск лиц.
Т.е. из таблицы берется имя, фамилия
И проверяется по другим спискам.
Нечёткий поиск - это уже моя инициатива.
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788100
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vlad F,
Спасибо за помощь, посмотрю Гугл и sdf)
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788103
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlepawkaНечёткий поиск - это уже моя инициатива.

Инициатива наказуема. Ниасилишь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788144
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAlepawkaНечёткий поиск - это уже моя инициатива.

Инициатива наказуема. Ниасилишь.

Зависит от того как трактовать термин "нечеткий поиск" :)
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788305
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
19.03.2019 6:29, fraks пишет:
> Зависит от того как трактовать термин "нечеткий поиск" :)

+500!

подозреваю, что поциент имеет в виду LIKE...
в крайнем случаем SIMILAR...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788321
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий19.03.2019 6:29, fraks пишет:
> Зависит от того как трактовать термин "нечеткий поиск" :)

+500!

подозреваю, что поциент имеет в виду LIKE...
в крайнем случаем SIMILAR...

Ну, допустим,в таблице будет 'Иванов',
А в списках ,'Иванив' , LIKE тут явно не найдёт
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788326
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Filippov Dmitry,

А сколько дают с такого рода задания?
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788360
Filippov Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alepawka,

не совсем понял вопрос, но (на всякий !) давайте обсудим в личных сообщениях.
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788373
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
19.03.2019 12:15, Alepawka пишет:
> Ну, допустим,в таблице будет 'Иванов',
> А в списках ,'Иванив' , LIKE тут явно не найдёт

а если дождь во время усушки? а?! (С)

Код: sql
1.
LIKE 'Иван%в'


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788382
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> LIKE 'Иван%в'

Иванчиков!

Это ещё не считая других замен букв, умляутов и пр.

P.S. Топик не читал, но сферический сабж в вакууме
"дешевого" решения (пока) не имеет, ИИ немаэ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 65, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Нашел алгоритм, но он на mssql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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