не работает индекс на оператор <->:
explain SELECT k."Id",
k."Name",
similarity(k."Name", 'архтктор') AS "TrigramsSimilarity"
FROM "Table" AS k
ORDER BY 'архтктор' <-> k."Name" DESC
limit 1
CREATE INDEX trgm_idx_gin ON "Table" USING gin ("Name" gin_trgm_ops);
CREATE INDEX trgm_idx_gist ON "Table" USING gist ("Name" gist_trgm_ops);
И где результат explain?
Но я всегда применял этот оператор наоборот.
Ну, не фоткой жэ. К тому жэ весь.
"Limit (cost=4677.53..4677.65 rows=1 width=36)" " -> Gather Merge (cost=4677.53..17623.77 rows=112576 width=36)" " Workers Planned: 1" " -> Sort (cost=3677.52..3958.96 rows=112576 width=36)" " Sort Key: (('архтктор'::text <-> (""Name"")::text)) DESC" " -> Parallel Seq Scan on ""Table"" k (cost=0.00..3114.64 rows=112576 width=36)"
А, тут без where. Я как-то сразу незаметил. Переделайте на where+union.
всм where вместо order by? сделал так кст заработало
тут нужно убрать DESC и он начнет работать без него выдавая самый подходящий результат. Видимо инвертированный оператор
Обсуждают сегодня