GiST
জিস্ট
Generalized Search Tree — যেকোনো 'overlaps/contains' ধর্মের উপর index বানানোর framework; R-tree, full-text, nearest-neighbor এর চাকা।
also: generalized-search-tree
B+ tree equality/range-এ আটকে থাকে; GiST শুধু চায় একটা consistent predicate: subtree-র সব entry কি parent-এর key-এর ভেতর? Geometry-তে bounding box, text-এ word set, int array-তে overlap।
CREATE EXTENSION btree_gist;
CREATE INDEX ON venues USING gist (location, created_at);
SELECT * FROM venues ORDER BY location <-> point '(23.8, 90.4)' LIMIT 5;
- Lossy: internal key আনুমানিক — candidate দিলে heap recheck দরকার
<->KNN operator GiST-ই দেয় — nearest neighbor query-র পথ- Exclusion constraint (
EXCLUDE USING gist) — overlapping booking আটকানোর ঘড়া