全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
开放搜索

下拉提示操作

更新时间:2017-06-07 13:26:11

opensearch 下拉提示搜索接口。

函数定义

function __construct($client)

设定下拉提示对应的应用名称

请求参数

参数名称 类型 描述
indexName string 指定的应用名称

函数定义

function setIndexName($indexName)

获取下拉提示对应的应用名称

返回结果

类型 描述
string 返回应用名称

函数定义

function getIndexName()

设定下拉提示名称

请求参数

参数名称 类型 描述
suggestName string 指定的下拉提示名称。

函数定义

function setSuggestName($suggestName)

获取下拉提示名称

返回结果

类型 描述
string 返回下拉提示名称。

函数定义

function getSuggestName()

设定返回结果条数

请求参数

参数名称 类型 描述
hits int 返回结果的条数。

函数定义

function setHits($hits)

获取返回结果条数

返回结果

类型 描述
int 返回条数。

函数定义

function getHits()

设定要查询的关键词

请求参数

参数名称 类型 描述
query string 要查询的关键词。

函数定义

function setQuery($query)

获取要查询的关键词

返回结果

类型 描述
string 返回要查询的关键词。

函数定义

function getQuery()

发出查询请求

请求参数

参数名称 类型 描述
opts array options参数列表
opts: options参数列表
参数名称 参数类型 参数描述
index_name string 应用名称
suggest_name string 下拉提示名称
hits int 返回结果条数
query string 查询关键词

返回结果

类型 描述
string 返回api返回的结果

函数定义

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).");";
}
本文导读目录