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.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с поисковыми системами
- Клиент Sphinx
- Функция SphinxClient::addQuery() - Добавление запроса к очереди запросов
- Функция SphinxClient::buildExcerpts() - Построение текстовых фрагментов
- Функция SphinxClient::buildKeywords() - Извлечение ключевых слов из запроса
- Функция SphinxClient::close() - Закрытие ранее открытого постоянного соединения
- Функция SphinxClient::__construct() - Создание нового объекта SphinxClient
- Функция SphinxClient::escapeString() - Экранирование спецсимволов
- Функция SphinxClient::getLastError() - Получение последнего сообщения об ошибке
- Функция SphinxClient::getLastWarning() - Получение последнего предупреждения
- Функция SphinxClient::open() - Создание постоянного подключения к серверу
- Функция SphinxClient::query() - Выполнение поискового запроса
- Функция SphinxClient::resetFilters() - Обнуление всех фильтров
- Функция SphinxClient::resetGroupBy() - Сброс всех настроек группировок
- Функция SphinxClient::runQueries() - Выполнение набора поисковых запросов
- Функция SphinxClient::setArrayResult() - Изменение формата массива с набором результатов запроса
- Функция SphinxClient::setConnectTimeout() - Установка таймаута соединения
- Функция SphinxClient::setFieldWeights() - Установка весовых коэффициентов полей
- Функция SphinxClient::setFilter() - Добавление фильтра по типу поля integer
- Функция SphinxClient::setFilterFloatRange() - Добавление фильтра по диапазону значений (для поля типа float)
- Функция SphinxClient::setFilterRange() - Добавление фильтра по диапазону значений (для поля типа integer)
- Функция SphinxClient::setGeoAnchor() - Установка опорной точки для рассчета географической удаленности
- Функция SphinxClient::setGroupBy() - Установка аттрибута группировки
- Функция SphinxClient::setGroupDistinct() - Установка названия аттрибута для расчета количества уникальных значений при группировке
- Функция SphinxClient::setIDRange() - Установка диапазона значений допустимых ID документов
- Функция SphinxClient::setIndexWeights() - Установка весовых коэффициентов индексов
- Функция SphinxClient::setLimits() - Установка смещения и предельного числа значений для набора результатов
- Функция SphinxClient::setMatchMode() - Установка режима совпадения при полнотекстовом поиске
- Функция SphinxClient::setMaxQueryTime() - Установка максимального времени выполнения запроса
- Функция SphinxClient::setOverride() - Временное переопределение значений атрибута для документов
- Функция SphinxClient::setRankingMode() - Установка режима ранжирования
- Функция SphinxClient::setRetries() - Установка количества повторных попыток и задержки между ними
- Функция SphinxClient::setSelect() - Установка условия выборки
- Функция SphinxClient::setServer() - Установка хоста и порта searchd
- Функция SphinxClient::setSortMode() - Установка режима сортировки результатов
- Функция SphinxClient::status() - Запрос статуса searchd
- Функция SphinxClient::updateAttributes() - Обновление аттрибутов документа
Коментарии
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');
For this to work, attrlat and attrlng need to be in lower case otherwise you will get :
"unknown latitude attribute ''"