SDK untuk pengumpulan data
Ikhtisar Fitur SDK
SDK untuk pengumpulan data menyediakan kelas yang digunakan untuk mengumpulkan data dan mendorong dokumen.
Anda dapat menggunakan SDK ini untuk mengelola pengumpulan data dan pendorongan dokumen untuk aplikasi OpenSearch. Anda dapat mendorong satu atau lebih dokumen sekaligus.
Demo SDK untuk Python dalam Mendorong Data Perilaku
Demo SDK untuk Go dalam Mendorong Data Perilaku
Demo SDK untuk C# dalam Mendorong Data Perilaku
Nama Kelas: DataCollectionClient
Namespace: OpenSearch\Client
Deskripsi Metode
Konstruktor.
Definisi Metode
void OpenSearch\Client\DataCollectionClient::__construct(\OpenSearch\Client\OpenSearchClient $openSearchClient)Deskripsi Parameter
Parameter | Tipe | Deskripsi |
$openSearchClient | OpenSearch\Client\OpenSearchClient | Kelas dasar yang digunakan untuk menghitung tanda tangan, berinteraksi dengan server, dan mengembalikan hasil. |
add
Deskripsi Metode
Menambahkan dokumen.
Setelah memanggil metode ini untuk menambahkan dokumen, dokumen tersebut ditambahkan ke buffer klien SDK tetapi belum dikomit ke server. Dokumen hanya dikirim ke server saat Anda memanggil metode commit(). Anda dapat memanggil metode add() beberapa kali untuk menambahkan beberapa dokumen, lalu memanggil metode commit() untuk mengirim dokumen ke server sekaligus.
Definisi Metode
\OpenSearch\Generated\Common\OpenSearchResult OpenSearch\Client\DataCollectionClient::add(array $fields)Deskripsi Parameter
Parameter | Tipe | Deskripsi |
$fields | ARRAY | Semua bidang dalam dokumen data perilaku, data pengguna, atau data barang. Contoh: array("user_id" => "1021468", "bhv_type" => "click"); |
commit
Deskripsi Metode
Mengirim dokumen di buffer klien SDK ke server.
Sebelum dokumen di buffer dikirim ke server, dokumen tersebut dibersihkan dari buffer. Oleh karena itu, jika server mengembalikan kesalahan dan Anda ingin mengirim dokumen lagi, Anda harus membuat ulang dokumen sebelum mengirimnya. Ini mencegah hilangnya data.
Definisi Metode
\OpenSearch\Generated\Common\OpenSearchResult OpenSearch\Client\DataCollectionClient::commit(string $searchAppName,string $dataCollectionName,string $dataCollectionType)Deskripsi Parameter
Parameter | Tipe | Deskripsi |
$searchAppName | STRING | Nama aplikasi OpenSearch terkait. |
$dataCollectionName | STRING | Nama pengumpulan data, yang dikembalikan oleh konsol OpenSearch saat fitur pengumpulan data perilaku diaktifkan. |
$dataCollectionType | STRING | Tipe pengumpulan data: BEHAVIOR |
push
Deskripsi Metode
Mendorong beberapa dokumen sekaligus.
Operasi ini secara sinkron mengirim dokumen ke server.
Definisi Metode
\OpenSearch\Generated\Common\OpenSearchResult OpenSearch\Client\DataCollectionClient::push(string $docJson,string $searchAppName,string $dataCollectionName,string $dataCollectionType)Deskripsi Parameter
Parameter | Tipe | Deskripsi |
$docJson | STRING | Daftar dokumen dalam format JSON. |
$searchAppName | STRING | Nama aplikasi OpenSearch terkait. |
$dataCollectionName | STRING | Nama pengumpulan data, yang dikembalikan oleh konsol OpenSearch saat fitur pengumpulan data perilaku diaktifkan. |
$dataCollectionType | STRING | Tipe pengumpulan data: BEHAVIOR |
Demo Penggunaan Metode push() SDK untuk PHP dalam Mengumpulkan Data
<?php
require_once("Config.inc.php");
use OpenSearch\Client\DataCollectionClient;
use OpenSearch\Generated\DataCollection\Command;
$searchAppName = "opensearch_app_name";
$dataCollectionName = "opened_data_collection_name";
$dataCollectionType = "BEHAVIOR";
$docs = json_encode(array(
[
"cmd" => Command::$__names[Command::ADD],
"fields" => [
// ID unik pengguna.
"user_id" => "1120021255",
// ID numerik yang digunakan untuk membedakan antara layanan pencarian yang berbeda. ID numerik sesuai dengan aplikasi OpenSearch.
"biz_id" => 1365378,
// Nilai bidang ini adalah nilai parameter request_id yang dikembalikan oleh OpenSearch dalam hasil pencarian. Masukkan nilai parameter request_id seperti apa adanya.
"rn" => "156516585419723283227314",
// Jika dokumen dicari dan dikumpulkan dari OpenSearch, atur bidang ini menjadi Alibaba.
"trace_id" => "Alibaba",
// Nilai bidang ini adalah nilai parameter ops_request_misc yang dikembalikan oleh OpenSearch dalam hasil pencarian. Masukkan nilai parameter ops_request_misc seperti apa adanya.
"trace_info" => "%7B%22request%5Fid%22%3A%22156516585419723283227314%22%2C%22scm%22%3A%2220140713.120006678..%22%7D",
// Nilai bidang ini adalah nilai kunci utama tabel utama dalam aplikasi OpenSearch.
"item_id" => "2223",
// Jenis item adalah barang atau komoditas.
"item_type" => "goods",
// Data perilaku yang dikumpulkan pada klik.
"bhv_type" => "click",
// Waktu terjadinya perilaku. Nilainya adalah timestamp UNIX yang akurat hingga detik.
"bhv_time" => "1566475047"
]
]
));
// Buat objek DataCollectionClient dan gunakan objek OpenSearchClient sebagai parameter konstruksi.
$dataCollectionClient = new DataCollectionClient($client);
$ret = $dataCollectionClient->push($docs, $searchAppName, $dataCollectionName, $dataCollectionType);
print_r(json_decode($ret->result, true));Demo Penggunaan Metode commit() SDK untuk PHP dalam Mengumpulkan Data
<?php
require_once("Config.inc.php");
use OpenSearch\Client\DataCollectionClient;
use OpenSearch\Generated\DataCollection\Command;
$searchAppName = "opensearch_app_name";
$dataCollectionName = "opened_data_collection_name";
$dataCollectionType = "BEHAVIOR";
// Buat objek DataCollectionClient dan gunakan objek OpenSearchClient sebagai parameter konstruksi.
$dataCollectionClient = new DataCollectionClient($client);
// Tambahkan dokumen.
// Dokumen ditambahkan ke buffer klien SDK tetapi tidak dikomit ke server. Dokumen hanya dikomit ke server saat Anda memanggil metode commit().
// Anda dapat memanggil metode add() beberapa kali untuk menambahkan beberapa dokumen, lalu memanggil metode commit() untuk mengirim dokumen ke server sekaligus.
$dataCollectionClient->add([
// ID unik pengguna.
"user_id" => "1120021255",
// ID numerik yang digunakan untuk membedakan antara layanan pencarian yang berbeda. ID numerik sesuai dengan aplikasi OpenSearch.
"biz_id" => 1365378,
// Nilai bidang ini adalah nilai parameter request_id yang dikembalikan oleh OpenSearch dalam hasil pencarian. Masukkan nilai parameter request_id seperti apa adanya.
"rn" => "156516585419723283227314",
// Jika dokumen dicari dan dikumpulkan dari OpenSearch, atur bidang ini menjadi Alibaba.
"trace_id" => "Alibaba",
// Nilai bidang ini adalah nilai parameter ops_request_misc yang dikembalikan oleh OpenSearch dalam hasil pencarian. Masukkan nilai parameter ops_request_misc seperti apa adanya.
"trace_info" => "%7B%22request%5Fid%22%3A%22156516585419723283227314%22%2C%22scm%22%3A%2220140713.120006678..%22%7D",
// Nilai bidang ini adalah nilai kunci utama tabel utama dalam aplikasi OpenSearch.
"item_id" => "2223",
// Jenis item adalah barang atau komoditas.
"item_type" => "goods",
// Data perilaku yang dikumpulkan pada klik.
"bhv_type" => "click",
// Waktu terjadinya perilaku. Nilainya adalah timestamp UNIX yang akurat hingga detik.
"bhv_time" => "1566475047"
]);
$ret = $dataCollectionClient->commit($searchAppName, $dataCollectionName, $dataCollectionType);
print_r(json_decode($ret->result, true));Demo Penggunaan Metode push() SDK untuk Java dalam Mengumpulkan Data
package com.aliyun.opensearch.demo;
import com.aliyun.opensearch.DataCollectionClient;
import com.aliyun.opensearch.OpenSearchClient;
import com.aliyun.opensearch.sdk.generated.OpenSearch;
import com.aliyun.opensearch.sdk.generated.commons.OpenSearchResult;
public class PushDataCollectionDoc {
private static String accesskey = "your ak";
private static String secret = "your secret";
private static String host = "your host";
private static String searchAppName = "opensearch_app_name";
private static String dataCollectionName = "opened_data_collection_name";
private static String dataCollectionType = "BEHAVIOR";
public static void main(String[] args) {
// Buat objek OpenSearch.
OpenSearch opensearch = new OpenSearch(accesskey, secret, host);
// Gunakan objek OpenSearch sebagai parameter untuk membuat objek OpenSearchClient.
OpenSearchClient client = new OpenSearchClient(opensearch);
// Buat objek DataCollectionClient dan gunakan objek OpenSearchClient sebagai parameter konstruksi.
DataCollectionClient dataCollectionClient = new DataCollectionClient(client);
// Dorong dokumen.
String docJson = "[{\"cmd\":\"ADD\",\"fields\":{\"user_id\":\"1120021255\","+
"\"biz_id\":1365378,\"rn\":\"156516585419723283227314\","+
"\"trace_id\":\"Alibaba\","+
"\"trace_info\":\"%7B%22request%5Fid%22%3A%22156516585419723283227314%22%2C%22scm%22%3A%2220140713.120006678..%22%7D\","+
"\"item_id\":\"id\",\"item_type\":\"goods\","+
"\"bhv_type\":\"click\",\"bhv_time\":\"1566475047\"}}]";
try {
OpenSearchResult openSearchResult = dataCollectionClient.push(docJson,
searchAppName, dataCollectionName,
dataCollectionType);
System.out.println(openSearchResult);
} catch (Exception e) {
e.printStackTrace();
assertTrue(false);
return;
}
}
}Demo Penggunaan Metode commit() SDK untuk Java dalam Mengumpulkan Data
package com.aliyun.opensearch.demo;
import com.aliyun.opensearch.DataCollectionClient;
import com.aliyun.opensearch.OpenSearchClient;
import com.aliyun.opensearch.sdk.generated.OpenSearch;
import com.aliyun.opensearch.sdk.generated.commons.OpenSearchResult;
import java.util.HashMap;
import java.util.Map;
public class PushDataCollectionDoc {
private static String accesskey = "your ak";
private static String secret = "your secret";
private static String host = "your host";
private static String searchAppName = "opensearch_app_name";
private static String dataCollectionName = "opened_data_collection_name";
private static String dataCollectionType = "BEHAVIOR";
public static void main(String[] args) {
// Buat objek OpenSearch.
OpenSearch opensearch = new OpenSearch(accesskey, secret, host);
// Gunakan objek OpenSearch sebagai parameter untuk membuat objek OpenSearchClient.
OpenSearchClient client = new OpenSearchClient(opensearch);
// Buat objek DataCollectionClient dan gunakan objek OpenSearchClient sebagai parameter konstruksi.
DataCollectionClient dataCollectionClient = new DataCollectionClient(client);
Map<String, Object> fields = new HashMap<String, Object>();
// ID unik pengguna.
fields.put("user_id", "1120021255");
// ID numerik yang digunakan untuk membedakan antara layanan pencarian yang berbeda. ID numerik sesuai dengan aplikasi OpenSearch.
fields.put("biz_id", 1365378);
// Nilai bidang ini adalah nilai parameter request_id yang dikembalikan oleh OpenSearch dalam hasil pencarian. Masukkan nilai parameter request_id seperti apa adanya.
fields.put("rn", "1564455556323223680397827");
// Jika dokumen dicari dan dikumpulkan dari OpenSearch, atur bidang ini menjadi Alibaba.
fields.put("trace_id", "Alibaba");
// Nilai bidang ini adalah nilai parameter ops_request_misc yang dikembalikan oleh OpenSearch dalam hasil pencarian. Masukkan nilai parameter ops_request_misc seperti apa adanya.
fields.put("trace_info", "%7B%22request%5Fid%22%3A%22156516585419723283227314%22%2C%22scm%22%3A%2220140713.120006678..%22%7D");
// Nilai bidang ini adalah nilai kunci utama tabel utama dalam aplikasi OpenSearch.
fields.put("item_id", "2223");
// Jenis item adalah barang atau komoditas.
fields.put("item_type", "goods");
// Data perilaku yang dikumpulkan pada klik.
fields.put("bhv_type", "click");
// Waktu terjadinya perilaku. Nilainya adalah timestamp UNIX yang akurat hingga detik.
fields.put("bhv_time", "1566475047");
// Tambahkan dokumen.
// Dokumen ditambahkan ke buffer klien SDK tetapi tidak dikomit ke server. Dokumen hanya dikomit ke server saat Anda memanggil metode commit().
// Anda dapat memanggil metode add() beberapa kali untuk menambahkan beberapa dokumen, lalu memanggil metode commit() untuk mengirim dokumen ke server sekaligus.
dataCollectionClient.add(fields);
try {
OpenSearchResult openSearchResult = dataCollectionClient.commit(searchAppName, dataCollectionName, dataCollectionType);
System.out.println(openSearchResult);
} catch (Exception e) {
e.printStackTrace();
return;
}
}
}