GIN (Generalized Inverted Index) suits values that contain many parts, such as JSONB documents, arrays and text search vectors. A lookup finds the rows for each part and combines them; writes are more expensive than with a B-tree.
GIN index
An inverted index in PostgreSQL that maps each element inside a value (a JSON key, a word) to the rows that contain it.