ES创建索引库的两种使用方式

同步创建索引库

当以以下方式执行CreateIndexRequest时,客户端会等待CreateIndexResponse返回,然后继续执行代 码:

CreateIndexResponse createIndexResponse = client.indices().create(request, RequestOptions.DEFAULT);

摘录之ES文档
无法解析高级REST客户机中的REST响应、请求超时或类似的情况下(服务器没有返回响应),同步调用可 能会抛出IOException。
在服务器返回4xx或5xx错误代码的情况下,高级客户端尝试解析响应体错误细节,然后抛出通用的 ElasticsearchException,并将原始的ResponseException作为抑制异常添加到其中。

异步创建索引库

执行CreateIndexRequest也可以以异步方式完成,这样客户端就可以直接返回。用户需要通 过将请求侦听器传递给异步创建-索引方法来指定如何处理响应或潜在故障:

client.indices().createAsync(request, RequestOptions.DEFAULT, listener); 

异步创建索引库–摘录之ES文档
执行完成时要执行的CreateIndexRequest和要使用的ActionListener

异步方法不会阻塞并立即返回。一旦ActionListener完成,如果执行成功,则使用 onResponse方法回调;如果执行失败,则使用onFailure方法回调
故障场景和预期异常与同 步执行情况相同。

创建索引的典型监听器是这样的:

ActionListener<CreateIndexResponse> listener =  new ActionListener<CreateIndexResponse>() { 
@Override    
public void onResponse(
    CreateIndexResponse createIndexResponse) {        
    } 
    @Override    
    public void onFailure(Exception e) {
    } 
 };

创建索引的典型监听器之ES文档
当执行成功完成时调用。
当整个CreateIndexRequest失败时调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值