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