GIN
GIN (Generalized INverted index) — реализация обратного индекса, используемая в СУБД PostgreSQL, в частности, для полнотекстового поиска и поиска по содержимому полей типа JSON. В структуре индексов GIN с каждой лексемой сопоставляется отсортированный (хранящийся в форме B-дерева) список идентификаторов документов, в которых она встречается.
Поиск по такой структуре намного эффективнее, чем при использовании GiST, однако процесс добавления нового документа медленнее, т.к. изменения вносятся в большое количество записей индекса.
GIN был придуман и реализован Олегом Бартуновым и Фёдором Сигаевым в 2005-2006 гг.
Литература
Введение в полнотекстовый поиск в PostgreSQL .
Рогов, Егор Индексы в PostgreSQL — 7 (GIN) (1 ноября 2017 г.).
Бартунов, Олег Оригинальная документация GIN на странице Олега Бартунова (2006 г.).