GINは完全なインデックススキャンをサポートしません。 値に対するキーが複数存在することがよくありますので、各ヒープポインタが複数回返される可能性があります。 また、簡単にこれを防ぐ方法はありません。
extractQuery
がゼロ個のキーを返す場合、GINはエラーとなります。
演算子に依存ますが、空の問い合わせは、インデックス対象値のすべてに一致するかもしれませんし、一部に一致するかもしれません。また、全く一致しないかもしれません。
(たとえば、すべての配列が重複がない空の配列を持つ場合。)
GINは正しい答えを決められず、また、正しいかどうか判らなければ全文検索結果を生成することもできません。
extractValue
がゼロ個のキーを返すことはエラーではありませんが、
この場合、インデックス対象値はインデックス内で表現されません。
これが完全なインデックススキャンが有用ではない、もう1つの理由です。
こうした行が失われます。
GINは、等価性の検査でのみキーを検索します。 これは今後改良される予定です。