push推送Demo
创建Config配置头文件
Config 页面中的内容将作为后续的查询推送文档的头文件,其中包含AK,host,应用名,下拉名称及 options 选项,等重要参数信息
<?php
//引入头文件
require_once("../OpenSearch/Autoloader/Autoloader.php");
use OpenSearch\Client\OpenSearchClient;
//替换对应的access key id
$accessKeyId = '<Your accessKeyId>';
//替换对应的access secret
$secret = '<Your secret>';
//替换为对应区域api访问地址,可参考应用控制台,基本信息中api地址
$endPoint = '<region endPoint>';
//替换为应用名
$appName = '<app name>';
//替换为下拉提示名称
$suggestName = '<suggest name>';
//开启调试模式
$options = array('debug' => true);
//创建OpenSearchClient客户端对象
$client = new OpenSearchClient($accessKeyId, $secret, $endPoint, $options);
上传文档代码
新增数据
以下我们向 opensearch应用中上传了10条文档。
<?php
//引用头部文件
require_once("Config.inc.php");
use OpenSearch\Client\DocumentClient;
//设置数据需推送到对应应用表中
$tableName = '替换应用表名';
//创建文档操作client
$documentClient = new DocumentClient($client);
//添加数据
$docs_to_upload = array();
for ($i = 0; $i < 10; $i++){
$item = array();
$item['cmd'] = 'ADD';
$item["fields"] = array(
"id" => $i + 1,
"name" => "搜索".$i
);
$docs_to_upload[] = $item;
}
//将文档编码成json格式
$json = json_encode($docs_to_upload);
//提交推送文档
$ret = $documentClient->push($json, $appName, $tableName);
更新数据
<?php
//引用头部文件
require_once("Config.inc.php");
use OpenSearch\Client\DocumentClient;
//设置数据需推送到对应应用表中
$tableName = '替换应用表名';
//创建文档操作client
$documentClient = new DocumentClient($client);
//添加数据
$docs_to_upload = array();
$item = array();
//高级版才支持UPDATE功能
$item['cmd'] = 'UPDATE';
$item["fields"] = array(
"id" => 1,
"name" => "开放搜索"
);
$docs_to_upload[] = $item;
//将文档编码成json格式
$json = json_encode($docs_to_upload);
//提交推送文档
$ret = $documentClient->push($json, $appName, $tableName);
删除数据
<?php
//引用头部文件
require_once("Config.inc.php");
use OpenSearch\Client\DocumentClient;
//设置数据需推送到对应应用表中
$tableName = '替换应用表名';
//创建文档操作client
$documentClient = new DocumentClient($client);
//添加数据
$docs_to_upload = array();
$item = array();
$item['cmd'] = 'DELETE';
$item["fields"] = array(
"id" => 1, //直接填写要删除数据的主键id即可
);
$docs_to_upload[] = $item;
//将文档编码成json格式
$json = json_encode($docs_to_upload);
//提交推送文档
$ret = $documentClient->push($json, $appName, $tableName);