`Rails`で`Postgresql`を使用しておりカラムに配列をもたせようとしたところRailsガイドの解説ではインデックスの方式に`gin`という物が使われていました。

```

    create_table :books do |t|
      t.string 'title'
      t.string 'tags', array: true
      t.integer 'ratings', array: true
    end
    add_index :books, :tags, using: 'gin'
    add_index :books, :ratings, using: 'gin'
    
```

<https://edgeguides.rubyonrails.org/active_record_postgresql.html#array>

検索してみてもそういうインデックス形式があるとわかるだけで具体的にどのような特徴を持つアルゴリズムかわかりませんでした。

カラムに配列を使う時は必ず`gin`を指定すべきなのでしょうか？  
また`gin`がどのような条件で最適の選択肢になるかが知りたいです。
CC BY-SA 4.0
2019-06-28T21:01:18.777
56204
2019-06-28T21:01:18.777
3271
question
ruby-on-rails postgresql
Postgresql の gin とはどのような特徴をもつインデックス形式ですか？