全部产品
开放搜索

search功能Demo(全)

更新时间:2017-07-14 09:45:12   分享:   

创建Config配置头文件

Config 页面中的内容将作为后续的查询推送文档的头文件,其中包含AK,host,应用名,下拉名称 及 options 选项,等重要参数信息

  1. <?php
  2. //引入头文件
  3. require_once("../OpenSearch/Autoloader/Autoloader.php");
  4. use OpenSearch\Client\OpenSearchClient;
  5. //替换对应的access key id
  6. $accessKeyId = '<Your accessKeyId>';
  7. //替换对应的access secret
  8. $secret = '<Your secret>';
  9. //替换为对应区域api访问地址,可参考应用控制台,基本信息中api地址
  10. $endPoint = '<region endPoint>';
  11. //替换为应用名
  12. $appName = '<app name>';
  13. //替换为下拉提示名称
  14. $suggestName = '<suggest name>';
  15. //开启调试模式
  16. $options = array('debug' => true);
  17. //创建OpenSearchClient客户端对象
  18. $client = new OpenSearchClient($accessKeyId, $secret, $endPoint, $options);

搜索功能Demo(全)

  1. <?php
  2. header("Content-Type:text/html;charset=utf-8");
  3. //引入头文件
  4. require_once("Config.inc.php");
  5. use OpenSearch\Client\SearchClient;
  6. use OpenSearch\Util\SearchParamsBuilder;
  7. $searchClient = new SearchClient($client);
  8. //创建参数对象,并指定对应参数
  9. $params = new SearchParamsBuilder();
  10. $params->setStart(0);
  11. $params->setHits(20);
  12. //设置应用名称
  13. $params->setAppName('替换为应用名');
  14. //设置查询query
  15. $params->setQuery("name:'搜索'");
  16. //设置返回格式
  17. $params->setFormat("fulljson");
  18. //添加排序
  19. $params->addSort('id', SearchParamsBuilder::SORT_DECREASE);
  20. $params->addSort('RANK', SearchParamsBuilder::SORT_DECREASE);
  21. //设置文档过滤条件
  22. $params->setFilter('id>0');
  23. //添加distinct子句
  24. $params->addDistinct(
  25. array('key' => 'cate_id', 'distTimes' => 1, 'distCount' => 1, 'reserved' => 'false')
  26. );
  27. //添加摘要
  28. $params->addSummary(
  29. array('summary_field' => 'name', 'summary_len' => 100, 'summary_ellipsis' => "。。。", 'summary_snippet' => 2, 'summary_element_prefix' => '<em>', 'summary_element_postfix' => '</em>')
  30. );
  31. //$params->addSummary(
  32. // array('summary_field' => 'name', 'summary_len' => 200)
  33. //);
  34. //设置自定义参数
  35. //$params->setCustomParam('a', 'b');
  36. //$params->setCustomParam('c', 'd');
  37. //$params->setRouteValue('1');
  38. //添加aggregate子句
  39. $params->addAggregate(
  40. array('groupKey' => 'cate_id', 'aggFun' => 'count()', 'range' => '1', 'aggSamplerThresHold' => 1, 'aggSamplerStep' => 10, 'maxGroup' => 10)
  41. );
  42. // $params->addAggregate(
  43. // array('groupKey' => 'cate_id', 'aggFun' => 'count()', 'range' => '1', 'aggFilter' => 'id>1', 'aggSamplerThresHold' => 1, 'aggSamplerStep' => 10, 'maxGroup' => 10)
  44. // );
  45. //指定粗排表达式
  46. $params->setFirstRankName('default');
  47. //指定精排表达式
  48. $params->setSecondRankName('default');
  49. //设置需返回哪些字段
  50. $params->setFetchFields(array('id','name','phone','int_arr','literal_arr','float_arr','cate_id'));
  51. //添加查询分析功能
  52. $params->addQueryProcessor('替换为查询分析名称');
  53. //执行查询并返回信息
  54. $ret = $searchClient->execute($params->build());
  55. //打印返回信息的内容
  56. print_r(json_decode($ret->result,true));
  57. //打印调试信息
  58. echo $ret->traceInfo->tracer;
本文导读目录
本文导读目录
以上内容是否对您有帮助?