如何快速创建pg_trgm DESC(降序)?

Lau*_*con 8 postgresql indexing performance pg-trgm

我在一个表中有100.000个句子的列表,使用pg_trgm可以使用GIN / GIST索引快速获取字符串“ super cool”中最接近的一个。参见官方示例:

https://www.postgresql.org/docs/11/pgtrgm.html

可悲的是,我想要相反的情况,我想先找到不同的一个,但是在DESC时不使用GIN / GIST索引,因此它非常慢。

SELECT t, 'super cool' <-> t AS dist
  FROM test_trgm
  ORDER BY dist DESC LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

我该怎么办?从源代码重建pg_trgm?怎么样 ?

Aym*_*dou 0

我想提议

select * 
from ( 
  SELECT  row_number() OVER () as rk, t, 'super cool' <-> t AS dist   
  FROM test_trgm
) sub  
ORDER BY rk DESC LIMIT 10;
Run Code Online (Sandbox Code Playgroud)