SphinxClient::setServer()
(PECL sphinx >= 0.1.0)
设置searchd的主机名和TCP端口
说明
public SphinxClient::setServer(string $server,int $port): bool
设置searchd的主机名和TCP端口。此后的所有请求都使用新的主机和端口设置。默认的主机和端口分别是“localhost”和3312.
参数
- $server
IP 或者主机名.
- $port
端口.
返回值
成功时返回TRUE,或者在失败时返回FALSE。
<?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();
?>
