文字

SphinxClient::setGeoAnchor

(PECL sphinx >= 0.1.0)

SphinxClient::setGeoAnchorSet 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

参见

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

用户评论:

[#1] 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 ''"

[#2] 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');

上一篇: 下一篇: