• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • SphinxClient::setGeoAnchor()

    (PECL sphinx >= 0.1.0)

    Set anchor point for a geosphere distance calculations

    说明

    publicSphinxClient::setGeoAnchor(string $attrlat,string $attrlong,float $latitude,float $longitude): bool

    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
    For this to work, attrlat and attrlng need to be in lower case otherwise you will get :
    "unknown latitude attribute ''"
    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');