Delegate johnfound Delegate На прав път ли съм ?
Не. Трябва на всеки Б-стринг да изчисляваш дистанцията до всеки стринг от А и да намираш минималната дистанция.
Ако това върши работа, рънва на средния ми лаптоп за 26 минути на postgreSQL 13 за 100К срещу 100 стринга без индекси, докато си слушам музичка и си браузвам. Някой спец да избаца по-оптимален вариант да го тествам.
SELECT "Bstring", MIN("dist") FROM ( SELECT n1."Bstring",n2."Astring", levenshtein_less_equal(n1."Bstring",n2."Astring",100) as dist FROM (SELECT "Bstring" FROM public."Leven") n1 , public."Leven" n2 ) n3 GROUP BY "Bstring"
Successfully run. Total query runtime: 26 min 7 secs. 101 rows affected.
15.67 секунди на стринг. В момента рекорда е 0.01 секунди на стринг. :)