For this to work, attrlat and attrlng need to be in lower case otherwise you will get :
"unknown latitude attribute ''"
SphinxClient::setGeoAnchor
(PECL sphinx >= 0.1.0)
SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations
Description
public bool SphinxClient::setGeoAnchor
( string $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.
Parameters
- attrlat
-
Name of a latitude attribute.
- attrlong
-
Name of a longitude attribute.
- latitude
-
Anchor latitude in radians.
- longitude
-
Anchor longitude in radians.
Return Values
Returns TRUE on success or FALSE on failure.
michel dot bartz at igotchamedia dot com ¶
1 year ago
k dot andris at gmail dot com ¶
2 years ago
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');
