すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:プライマリキーベースのクエリ

最終更新日:Dec 28, 2024

このトピックでは、OpenSearch Vector Search Edition インスタンスにアクセスして、Java SDK の非同期クライアントを使用してデータのクエリを実行する方法を示すドキュメント検索デモについて説明します。

package com.aliyun.ha3engine;

import java.util.Arrays;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;

import com.aliyun.ha3engine.async.AsyncClient;
import com.aliyun.ha3engine.async.models.MultiQueryRequest;
import com.aliyun.ha3engine.async.models.QueryRequest;
import com.aliyun.ha3engine.async.models.SearchResponse;
import com.aliyun.sdk.ha3engine.async.core.AsyncConfigInfoProvider;
import com.aliyun.tea.TeaException;

import darabonba.core.client.ClientOverrideConfiguration;

/**
 * @author alibaba
 */
public class SearchDoc {

    public static void main(String[] args) throws Exception {
        try {
        	// インスタンスのユーザー名とパスワード。ユーザー名とパスワードは、[インスタンスの詳細] ページの [API エンドポイント] セクションで確認できます。
            AsyncConfigInfoProvider provider = AsyncConfigInfoProvider.create("username", "password");

            // 非同期クライアントを初期化します。
            AsyncClient client = AsyncClient.builder()
                    .credentialsProvider(provider)
                    .overrideConfiguration(
                            ClientOverrideConfiguration.create()
                                    // インスタンスのパブリックエンドポイント。パブリックエンドポイントは、[インスタンスの詳細] ページの [ネットワーク情報] セクションで確認できます。
                                    .setEndpointOverride("ha-cn-***********.public.ha.aliyuncs.com")
                        			.setProtocol("http")
                    ).build();
            FetchRequest fetchRequest = FetchRequest.builder().tableName("table_name").ids(Arrays.asList("1", "2")).build();
            CompletableFuture<SearchResponse> searchResponseCompletableFuture = client.fetch(fetchRequest);
            String responseBody = searchResponseCompletableFuture.get().getBody();

            System.out.println("result:" + responseBody);

        } catch (ExecutionException | InterruptedException e) {
            System.out.println(e.getMessage());
        } catch (TeaException e) {
            System.out.println(e.getMessage());
            Map<String, Object> abc = e.getData();
            System.out.println(com.aliyun.teautil.Common.toJSONString(abc));
        }
    }
}