Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.opensearch.javasdk;
  
  
  import java.util.HashMap;
  import java.util.Map;
  
Opensearch索引接口。 主要功能、创建索引、查看索引内容、删除索引和修改索引名称。

Author(s):
liaoran.xg
 
 public class CloudsearchIndex {

    
CloudsearchClient实例。
 
     private CloudsearchClient client;


    
索引名称。
 
     private String indexName;

    
请求的API的URI。
 
     private String path;

    
调用client时发送的请求串信息
 
     private StringBuffer debugInfo = new StringBuffer();

    
CloudsearchIndex的构造函数

Parameters:
indexName 索引的名称
client 提交请求的client
 
     public CloudsearchIndex(String indexNameCloudsearchClient client) {
         this. = indexName;
         this. = client;
         this. = "/index/" + this.;
     }

    
根据一个已有的模板的名称,创建一个新的应用。

Parameters:
templateName 模板名称
opts 包含应用的备注信息
Returns:
返回api返回的正确或错误的结果
Throws:
java.io.IOException
org.apache.http.client.ClientProtocolException
 
     public String createByTemplateName(String templateNameMap<StringStringopts)
                     throws ClientProtocolExceptionIOException {
 
         Map<StringStringparams = new HashMap<StringString>();
 
         params.put("action""create");
         params.put("template"templateName);
 
         if (opts != null && opts.get("desc") != null) {
             params.put("index_des"opts.get("desc"));
         }
 
         if (opts != null && opts.get("package_id") != null) {
             params.put("package_id"opts.get("package_id"));
         }
 
         return .call(this.params.,
                 this.);
     }
 
     public String createByTemplateName(String templateNamethrows ClientProtocolExceptionIOException {
         return createByTemplateName(templateNamenew HashMap<StringString>());
     }

    
更新当前索引的索引名称和备注信息。

Parameters:
toIndexName 索引名称
opts 相关参数
Returns:
返回api返回的正确或错误的结果
Throws:
org.json.JSONException
java.io.IOException
org.apache.http.client.ClientProtocolException
 
     public String rename(String toIndexNameMap<StringStringoptsthrows JSONExceptionClientProtocolException,
                    IOException {
        Map<StringStringparams = new HashMap<StringString>();
        params.put("action""update");
        params.put("new_index_name"toIndexName);
        if (opts != null && opts.get("desc") != null) {
            params.put("description"opts.get("desc"));
        }
        String result = .call(this.params,
                .);
        JSONObject jsonResult = new JSONObject(result);
        if (jsonResult != null && jsonResult.getString("status").equals("OK")) {
            this. = toIndexName;
            this. = "/index/" + this.;
        }
        return result;
    }

    
删除当前的索引。

Returns:
返回api返回的正确或错误的结果
Throws:
java.io.IOException
org.apache.http.client.ClientProtocolException
    public String delete() throws ClientProtocolExceptionIOException {
        Map<StringStringparams = new HashMap<StringString>();
        params.put("action""delete");
        return .call(this.params.,
                );
    }


    
查看当前索引的状态。

Returns:
返回api返回的正确或错误的结果
Throws:
java.io.IOException
org.apache.http.client.ClientProtocolException
    public String status() throws ClientProtocolExceptionIOException {
        Map<StringStringparams = new HashMap<StringString>();
        params.put("action""status");
        return .call(this.params.,
                );
    }

    
列出所有索引

Parameters:
page 开始的页码
pageSize 获取的记录数
Returns:
返回api返回的正确或错误的结果
Throws:
java.io.IOException
org.apache.http.client.ClientProtocolException
    public String listIndexes(Integer pageInteger pageSizethrows ClientProtocolExceptionIOException {
        Map<StringStringparams = new HashMap<StringString>();
        params.put("page"page == null ? "1" : String.valueOf(page));
        params.put("page_size"pageSize == null ? "10" : String.valueOf(pageSize));
        return .call("/index"params.,
                );
    }

    
创建一条导入数据或重建索引的任务。 如果operate为import,则需要指定tableName,反之如果operate为build,则不需指定。 例如: 如果想全量导入某个表的数据且导入完毕后重建索引,则可以调用如下: createTask("import", "my_table", true); 如果只想全量导入某个表的数据但不建索引。 createTask("import", "my_table", false); 如果只想重建索引: createTask("build"); createTask("build", "", false);

Parameters:
operate 操作符,包含"build"、"import",build为重建索引,import为数据导入。
tableName 指定的表的名称,此表必须已经配置了数据源,如果为build则此字段无效。
needBuild 指定是否重建索引。
Returns:
返回api的结果。
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
    public String createTask(String operateString tableNameboolean needBuildthrows ClientProtocolException,
                    IOException {
        Map<StringStringparams = new HashMap<StringString>();
        params.put("action""createTask");
        params.put("operate"operate);
        if (tableName != null) {
            params.put("table_name"tableName);
        } else {
            params.put("table_name""");
        }
        params.put("need_build"needBuild == true ? "1" : "0");
        return .call(params.,
                );
    }

    
创建一条重建索引的任务。

Returns:
返回api返回的结果。
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
        return createTask("build"""false);
    }

    
创建一条数据导入的任务。

Parameters:
tableName 指定的表的名称,此表必须配置了数据源。
needBuild 指定是否重建索引。
Returns:
返回api返回的结果。
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
    public String createImportTask(String tableNameboolean needBuildthrows ClientProtocolExceptionIOException {
        return createTask("import"tableNameneedBuild);
    }

    
获取当前索引的索引名称。

Returns:
索引名称
    public String getIndexName() {
        return this.;
    }

    
获取错误信息

Parameters:
page 开始页数
pageSize 每页的记录数
Returns:
API返回的错误信息
Throws:
java.io.IOException
org.apache.http.client.ClientProtocolException
    public String getErrorMessage(int pageint pageSizethrows ClientProtocolExceptionIOException {
        Map<StringStringparams = new HashMap<StringString>();
        params.put("page", String.valueOf(page));
        params.put("page_size", String.valueOf(pageSize));
        return .call("/index/error/" + params,
                .);
    }

    
获取上次请求的信息

Returns:
String
    public String getDebugInfo() {
        return this..toString();
    }
New to GrepCode? Check out our FAQ X