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
Beschreibung
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.
Parameter-Liste
-
attrlat -
Name of a latitude attribute.
-
attrlong -
Name of a longitude attribute.
-
latitude -
Anchor latitude in radians.
-
longitude -
Anchor longitude in radians.
Rückgabewerte
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
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');
