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失败时调用。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearch 是一种强大的搜索引擎和分布式数据存储系统,它支持将多个索引连接起来形成一个更复杂的索引。将多个索引合并为一个索引的主要目的是提高性能和查询复杂性,使数据更容易被访问和管理。 在 Elasticsearch 中,将两个索引连接起来可以通过以下步骤完成: 1.创建一个新的索引,用来存储两个要被合并的索引的数据。新的索引通常需要与原有的索引具有相同的字段名和数据类型,以确保查询操作能够正常进行。 2.使用 Elasticsearch 的 Reindex API 把原有的两个索引中的数据复制到新的索引中。为了避免数据重复,通常需要设置一些 deduplication rules,并在复制数据时使用一个特定的字段进行排序。 3.在新的索引创建一个别名,用来代表这两个索引的合并,以供查询操作使用。别名通常会被赋予一个有意义的名称,以方便用户使用。例如,如果合并的索引包含客户信息和订单信息,那么它的别名可能会被命名为“customer_orders”。 4.使用 Elasticsearch 的 Search API 对新的索引和别名进行查询操作。这样,就能够轻松地访问两个原有索引中的数据,而不需要分别进行查询。 5.如果需要对合并索引中的数据进行更新或删除操作,可以通过更新或删除原有的索引来实现。然后,使用 Reindex API 将更新后的数据复制到新的索引中,并使用别名进行查询。 通过这些步骤,你就可以将多个索引连接成一个更复杂的索引,从而提高查询性能和管理数据的效率。在连接索引时,需要注意的是合并的索引应该具有相同的字段名和数据类型,以确保查询操作能够正常进行。此外,为了避免数据重复,还需要设置一些 deduplication rules
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值