GIN

GIN (Generalized INverted index) — реализация обратного индекса, используемая в СУБД PostgreSQL, в частности, для полнотекстового поиска и поиска по содержимому полей типа JSON. В структуре индексов GIN с каждой лексемой сопоставляется отсортированный (хранящийся в форме B-дерева) список идентификаторов документов, в которых она встречается.

Поиск по такой структуре намного эффективнее, чем при использовании GiST, однако процесс добавления нового документа медленнее, т.к. изменения вносятся в большое количество записей индекса.

GIN был придуман и реализован Олегом Бартуновым и Фёдором Сигаевым в 2005-2006 гг.

Литература

Введение в полнотекстовый поиск в PostgreSQL  (неопр.).

Рогов, Егор Индексы в PostgreSQL — 7 (GIN)  (неопр.) (1 ноября 2017).

Бартунов, Олег Оригинальная документация GIN на странице Олега Бартунова  (неопр.) (2006).

Актуальная документация GIN в PostgreSQL  (неопр.).