全部产品
Search
文档中心

OpenSearch:SDK untuk pengumpulan data 2.0

更新时间:Jun 26, 2025

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.

Catatan Rilis SDK untuk Java

Unduh SDK untuk PHP

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.

Catatan

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.

Catatan

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.

Catatan

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;
        }
    }
}