全部產品
Search
文件中心

Elasticsearch:快速入門

更新時間:Jun 30, 2024

本章節以ListSearchLog為例,為您示範如何通過阿里雲CLI、OpenAPI Explorer和阿里雲SDK等開發人員工具調用Elasticsearch API。

背景資訊

調用API時,您可以根據API文檔瞭解使用說明,並查詢必選的請求參數。發送請求後報錯時,您可以在相應API文檔中擷取錯誤碼說明。

調用方式

調用方式適用情境使用限制
阿里雲CLI樣本如果您經常使用命令列工具,可選用此方式。使用前請確保已在對應機器上安裝了阿里雲CLI,在不同作業系統中安裝CLI的方式請參見:
OpenAPI Explorer樣本如果您經常使用互動式操作介面,或者您是初次使用阿里雲產品的開發人員使用者,可選用此方式。通過OpenAPI Explorer,您還可以調試和擷取SDK請求樣本,詳情請參見OpenAPI 門戶
Java SDK樣本適用於SDK編碼或DevOps等情境。使用Java SDK要求您提前安裝JDK(版本為1.6及以上)和Maven

阿里雲CLI樣本

  1. 擷取執行個體ID。
    您可以通過以下兩種方式擷取執行個體ID:
    • 在Kibana控制台中,通過GET /命令擷取,具體操作步驟請參見登入Kibana控制台
    • 在本機電腦中,通過ListInstance擷取。
      aliyun elasticsearch ListInstance --zoneId cn-hangzhou
  2. 使用ListSearchLog擷取執行個體的系統日誌。
    aliyun elasticsearch ListSearchLog --type INSTANCELOG --query level:warn --beginTime 1593332477000 --endTime 1593418877000 --page 1 --size 20 --InstanceId es-cn-n6w1o1x0w00******   

OpenAPI Explorer樣本

  1. 通過ListInstance擷取執行個體ID。
  2. 通過ListSearchLog查詢執行個體的系統日誌。
    查詢成功後,OpenAPI中會顯示對應的日誌資訊。

Java SDK樣本

  1. 建立Maven工程。
    說明 詳細操作方法請參見安裝Java SDK
  2. 配置pom依賴。
     <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-elasticsearch</artifactId>
            <version>3.0.16</version>
      </dependency>
      <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.4.6</version>
       </dependency>
    重要 SDK封裝更新頻繁,建議您通過阿里雲開發套件(SDK)擷取最新版本依賴。
  3. 建立Java程式,調用ListSearchLog查詢執行個體的系統日誌。
    import com.aliyuncs.CommonRequest;
    import com.aliyuncs.CommonResponse;
    import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.IAcsClient;
    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.exceptions.ServerException;
    import com.aliyuncs.http.FormatType;
    import com.aliyuncs.http.MethodType;
    import com.aliyuncs.profile.DefaultProfile;
    
    public class ListSearchLog {
        public static void main(String[] args) {
            DefaultProfile profile = DefaultProfile.getProfile("<RegionId>", "<accessKeyId>", "<accessSecret>");
            IAcsClient client = new DefaultAcsClient(profile);
    
            CommonRequest request = new CommonRequest();
            //request.setProtocol(ProtocolType.HTTPS);
            request.setMethod(MethodType.GET);
            request.setDomain("elasticsearch.<RegionId>.aliyuncs.com");
            request.setVersion("2017-06-13");
            request.setUriPattern("/openapi/instances/<instanceid>/search-log");
            request.putQueryParameter("type", "INSTANCELOG");
            request.putQueryParameter("query", "level:warn");
            request.putQueryParameter("beginTime", "1593332477000");
            request.putQueryParameter("endTime", "1593418877000");
            request.putQueryParameter("page", "1");
            request.putQueryParameter("size", "20");
            request.putHeadParameter("Content-Type", "application/json");
            String requestBody = "" +
                    "{}";
            request.setHttpContent(requestBody.getBytes(), "utf-8", FormatType.JSON);
            try {
                CommonResponse response = client.getCommonResponse(request);
                System.out.println(response.getData());
            } catch (ServerException e) {
                e.printStackTrace();
            } catch (ClientException e) {
                e.printStackTrace();
            }
        }
    }
    參數說明
    <RegionId>Elasticsearch執行個體所在地區,取值請參見參數說明
    <accessKeyId>您阿里雲帳號的AccessKeyId,擷取方式請參見擷取AccessKey
    <accessSecret>您阿里雲帳號的AccessKeySecret,擷取方式請參見擷取AccessKey
    <instanceId>您Elasticsearch執行個體的ID,擷取方式請參見查看執行個體的基本資料ListInstance
    說明 查詢參數說明(QueryParameter)請參見ListSearchLog