66.2. ÐÑÑÑоеннÑе клаÑÑÑ Ð¾Ð¿ÐµÑаÑоÑов
РбазовÑй диÑÑÑибÑÑив Postgres Pro вклÑÑÐµÐ½Ñ ÐºÐ»Ð°ÑÑÑ Ð¾Ð¿ÐµÑаÑоÑов SP-GiST, пеÑеÑиÑленнÑе в ТаблиÑе 66.1.
ТаблиÑа 66.1. ÐÑÑÑоеннÑе клаÑÑÑ Ð¾Ð¿ÐµÑаÑоÑов SP-GiST
| ÐÐ¼Ñ | ÐндекÑиÑÑемÑе опеÑаÑоÑÑ | ÐпеÑаÑоÑÑ ÑпоÑÑдоÑÐ¸Ð²Ð°Ð½Ð¸Ñ |
|---|---|---|
box_ops | << (box,box) | <-> (box,point) |
&< (box,box) | ||
&> (box,box) | ||
>> (box,box) | ||
<@ (box,box) | ||
@> (box,box) | ||
~= (box,box) | ||
&& (box,box) | ||
<<| (box,box) | ||
&<| (box,box) | ||
|&> (box,box) | ||
|>> (box,box) | ||
inet_ops | << (inet,inet) | Â |
<<= (inet,inet) | ||
>> (inet,inet) | ||
>>= (inet,inet) | ||
= (inet,inet) | ||
<> (inet,inet) | ||
< (inet,inet) | ||
<= (inet,inet) | ||
> (inet,inet) | ||
>= (inet,inet) | ||
&& (inet,inet) | ||
kd_point_ops | |>> (point,point) | <-> (point,point) |
<< (point,point) | ||
>> (point,point) | ||
<<| (point,point) | ||
~= (point,point) | ||
<@ (point,box) | ||
poly_ops | << (polygon,polygon) | <-> (polygon,point) |
&< (polygon,polygon) | ||
&> (polygon,polygon) | ||
>> (polygon,polygon) | ||
<@ (polygon,polygon) | ||
@> (polygon,polygon) | ||
~= (polygon,polygon) | ||
&& (polygon,polygon) | ||
<<| (polygon,polygon) | ||
&<| (polygon,polygon) | ||
|>> (polygon,polygon) | ||
|&> (polygon,polygon) | ||
quad_point_ops | |>> (point,point) | <-> (point,point) |
<< (point,point) | ||
>> (point,point) | ||
<<| (point,point) | ||
~= (point,point) | ||
<@ (point,box) | ||
range_ops | = (anyrange,anyrange) | Â |
&& (anyrange,anyrange) | ||
@> (anyrange,anyelement) | ||
@> (anyrange,anyrange) | ||
<@ (anyrange,anyrange) | ||
<< (anyrange,anyrange) | ||
>> (anyrange,anyrange) | ||
&< (anyrange,anyrange) | ||
&> (anyrange,anyrange) | ||
-|- (anyrange,anyrange) | ||
text_ops | = (text,text) | Â |
< (text,text) | ||
<= (text,text) | ||
> (text,text) | ||
>= (text,text) | ||
~<~ (text,text) | ||
~<=~ (text,text) | ||
~>=~ (text,text) | ||
~>~ (text,text) | ||
^@ (text,text) |
Ðз двÑÑ
клаÑÑов опеÑаÑоÑов Ð´Ð»Ñ Ñипа point клаÑÑом по ÑмолÑÐ°Ð½Ð¸Ñ ÑвлÑеÑÑÑ quad_point_ops. ÐлаÑÑ kd_point_ops поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ñе же опеÑаÑоÑÑ, но иÑполÑзÑÐµÑ Ð´ÑÑгÑÑ ÑÑÑÑкÑÑÑÑ Ð´Ð°Ð½Ð½ÑÑ
индекÑа, коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð°ÑÑ Ð²ÑигÑÑÑ Ð² ÑкоÑоÑÑи Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
пÑиложений.
ÐлаÑÑÑ Ð¾Ð¿ÐµÑаÑоÑов quad_point_ops, kd_point_ops и poly_ops поддеÑживаÑÑ Ð¾Ð¿ÐµÑаÑÐ¾Ñ ÑпоÑÑдоÑÐ¸Ð²Ð°Ð½Ð¸Ñ <->, позволÑÑÑий вÑполниÑÑ Ð¿Ð¾Ð¸Ñк k ближайÑиÑ
ÑоÑедей (k-NN) по индекÑиÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð¼Ñ Ð½Ð°Ð±Ð¾ÑÑ ÑоÑек или многоÑголÑников.