В базовый дистрибутив PostgreSQL включены классы операторов SP-GiST, перечисленные в Таблице 65.1.
Таблица 65.1. Встроенные классы операторов SP-GiST
Имя | Индексируемый тип данных | Индексируемые операторы | Операторы упорядочивания |
---|---|---|---|
kd_point_ops | point |
<<
<@
<^
>>
>^
~=
|
<->
|
quad_point_ops | point |
<<
<@
<^
>>
>^
~=
|
<->
|
range_ops | любой тип диапазона |
&&
&<
&>
-|-
<<
<@
=
>>
@>
| |
box_ops | box |
<<
&<
&&
&>
>>
~=
@>
<@
&<|
<<|
|>>
|&>
| |
poly_ops | polygon |
<<
&<
&&
&>
>>
~=
@>
<@
&<|
<<|
|>>
|&>
|
<->
|
text_ops | text |
<
<=
=
>
>=
~<=~
~<~
~>=~
~>~
^@
| |
inet_ops | inet , cidr |
&&
>>
>>=
>
>=
<>
<<
<<=
<
<=
=
|
Из двух классов операторов для типа point
классом по умолчанию является quad_point_ops
. Класс kd_point_ops
поддерживает те же операторы, но использует другую структуру данных индекса, которая может дать выигрыш в скорости для некоторых приложений.
Классы операторов quad_point_ops
, kd_point_ops
и poly_ops
поддерживают оператор упорядочивания <->
, позволяющий выполнить поиск k ближайших соседей (k-NN
) по индексированному набору точек или многоугольников.