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
설명
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.
인수
- 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
20-Jul-2011 07:17
k dot andris at gmail dot com
07-Oct-2010 12:55
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');
