GIN

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

Литература[править | править код]

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

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

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

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