(PECL sphinx >= 0.1.0)
SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations
$attrlat
, string $attrlong
, float $latitude
, float $longitude
)Sets anchor point for a geosphere distance (geodistance) calculations and enables them.
Once an anchor point is set, you can use magic "@geodist" attribute name in your filters and/or sorting expressions.
attrlat
Name of a latitude attribute.
attrlong
Name of a longitude attribute.
latitude
Anchor latitude in radians.
longitude
Anchor longitude in radians.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
michel dot bartz at igotchamedia dot com (2011-07-20 07:17:24)
For this to work, attrlat and attrlng need to be in lower case otherwise you will get :
"unknown latitude attribute ''"
k dot andris at gmail dot com (2010-10-07 00:55:42)
When sorting on @geodist you have to use SetSortMode with SPH_SORT_EXTENDED, like below, if SPH_SORT_ATTR_ASC does not seem to work.
$sphinx->SetSortMode(SPH_SORT_EXTENDED, '@geodist ASC');