SphinxClient::setServer
(PECL sphinx >= 0.1.0)
SphinxClient::setServer — Set searchd host and port
Description
public bool SphinxClient::setServer
( string
$server
, int $port
)Sets searchd host name and TCP port. All subsequent requests will use the new host and port settings. Default host and port are 'localhost' and 3312, respectively.
Parameters
-
server
-
IP or hostname.
-
port
-
Port number.
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() - Обновление аттрибутов документа
Коментарии
<?php
//Here is an example of using the Sphinx api client
$server = "192.168.0.100:3306";
$username = "johnsmith";
$password = "Password1";
$database = "customers";
function newSQL() {
global $server, $username, $password, $database;
$con = new mysqli($server, $username, $password, $database);
return $con;
}
include('sphinxapi.php');
$search = '@postcode 2012';
$s = new SphinxClient;
$s->SetServer("192.168.0.100", 9312);
$s->SetMatchMode(SPH_MATCH_EXTENDED2);
$s->SetSortMode (SPH_SORT_EXTENDED,'@random');
$s->SetLimits(0, $times);
$index = 'main:delta';
$result = $s->Query($search, $index);
if ($result['total'] > 0) {
foreach ($result['matches'] as $id => $other) {
$people .= "pid=$id OR ";
}
$people = substr($people, 0, -4);
}
$mysqli = newSQL();
$mysqliResult = $mysqli->query("SELECT `pid`, `name`, `postcode` FROM `profiles` WHERE ($people)");
//Do something with $mysqliResult
$mysqli->close();
?>