opensearch 下拉提示搜索接口。
函数定义
function __construct($client)
设定下拉提示对应的应用名称
请求参数
参数名称 |
类型 |
描述 |
indexName |
string |
指定的应用名称 |
函数定义
function setIndexName($indexName)
获取下拉提示对应的应用名称
返回结果
函数定义
function getIndexName()
设定下拉提示名称
请求参数
参数名称 |
类型 |
描述 |
suggestName |
string |
指定的下拉提示名称。 |
函数定义
function setSuggestName($suggestName)
获取下拉提示名称
返回结果
函数定义
function getSuggestName()
设定返回结果条数
请求参数
参数名称 |
类型 |
描述 |
hits |
int |
返回结果的条数。 |
函数定义
function setHits($hits)
获取返回结果条数
返回结果
函数定义
function getHits()
设定要查询的关键词
请求参数
参数名称 |
类型 |
描述 |
query |
string |
要查询的关键词。 |
函数定义
function setQuery($query)
获取要查询的关键词
返回结果
函数定义
function getQuery()
发出查询请求
请求参数
参数名称 |
类型 |
描述 |
opts |
array |
options参数列表 |
opts: options参数列表
参数名称 |
参数类型 |
参数描述 |
index_name |
string |
应用名称 |
suggest_name |
string |
下拉提示名称 |
hits |
int |
返回结果条数 |
query |
string |
查询关键词 |
返回结果
函数定义
function search($opts = array())
使用示例
define("APP_NAME", "{$app_name}");
define("SUGGEST_NAME", "{$suggest_name}");
define("HOST", "{$host}");
define("ACCESS_KEY_ID", "{$access_key_id}");
define("ACCESS_KEY_SECRET", "{$access_key_secret}");
define("HITS", 10);
$query = isset($_GET['query']) ? trim($_GET['query']) : "";
$callback = isset($_GET['callback']) ? trim($_GET['callback']) : "";
require_once("sdk/CloudsearchClient.php");
require_once("sdk/CloudsearchSuggest.php");
$client = new CloudsearchClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, array("host" => HOST), "aliyun");
$suggest = new CloudsearchSuggest($client);
$suggest->setIndexName(APP_NAME);
$suggest->setSuggestName(SUGGEST_NAME);
$suggest->setHits(HITS);
$suggest->setQuery($query);
$items = array();
try {
$result = json_decode($suggest->search(), true);
if (!isset($result['errors'])) {
if (isset($result['suggestions']) && !empty($result['suggestions'])) {
$items = $result['suggestions'];
} else {
$items = array();
}
} else {
foreach ($result['errors'] as $error) {
throw new Exception($error['message'] . " request_id: " . $result['request_id'],$error['code']);
}
}
} catch (Exception $e) {
// Logging the error code and error message.
}
if (empty($callback)) {
echo json_encode($items);
} else {
echo htmlspecialchars($callback) . "(".json_encode($items).");";
}
在文档使用中是否遇到以下问题
更多建议
匿名提交