Spring Data访问Elasticsearch----Reactive Elasticsearch响应式操作

Spring Data访问Elasticsearch----Reactive Elasticsearch响应式操作

ReactiveElasticsearchOperations是使用ReactiveElasticsearchClient对Elasticsearch集群执行高级命令的网关。
ReactiveElasticsearchTemplate是ReactiveElasticsearchOperations的默认实现。
要开始使用ReactiveElasticsearchOperations,需要了解要使用的实际客户端。有关客户端以及如何配置它的详细信息,请参阅 Reactive Rest Client

一、响应式操作使用

ReactiveElasticsearchOperations允许你保存、查找和删除域对象,并将这些对象映射到存储在Elasticsearch中的文档。

参见以下内容:
例1:使用ReactiveElasticsearchOperations

java 复制代码
@Document(indexName = "marvel")
public class Person {

  private @Id String id;
  private String name;
  private int age;
  // Getter/Setter omitted...
}
java 复制代码
ReactiveElasticsearchOperations operations;

// ...

operations.save(new Person("Bruce Banner", 42))                --------1    
  .doOnNext(System.out::println)
  .flatMap(person -> operations.get(person.id, Person.class))  --------2    
  .doOnNext(System.out::println)
  .flatMap(person -> operations.delete(person))                --------3    
  .doOnNext(System.out::println)
  .flatMap(id -> operations.count(Person.class))               --------4    
  .doOnNext(System.out::println)
  .subscribe();                                                --------5    

1. 将新的Person文档插入marvel索引。id在服务器端生成,并设置到返回的实例中。
2. 在marvel索引中查找id匹配的人。
3. 删除marvel索引中从给定实例中提取的id匹配的Person。
4. 统计marvel索引中的文档总数。
5. 别忘了subscribe()。

上面的代码在控制台上输出以下序列。

text 复制代码
> Person(id=QjWCWWcBXiLAnp77ksfR, name=Bruce Banner, age=42)
> Person(id=QjWCWWcBXiLAnp77ksfR, name=Bruce Banner, age=42)
> QjWCWWcBXiLAnp77ksfR
> 0
相关推荐
TT哇2 分钟前
【多线程案例】:单例模式
java·单例模式·面试
在未来等你11 分钟前
Elasticsearch面试精讲 Day 14:数据写入与刷新机制
大数据·分布式·elasticsearch·搜索引擎·面试
黄焖鸡能干四碗21 分钟前
智慧教育,智慧校园,智慧安防学校建设解决方案(PPT+WORD)
java·大数据·开发语言·数据库·人工智能
lssjzmn29 分钟前
Spring Web 异步响应实战:从 CompletableFuture 到 ResponseBodyEmitter 的全链路优化
java·前端·后端·springboot·异步·接口优化
new_daimond42 分钟前
二级缓存在实际项目中的应用
java
phac1231 小时前
git 如何直接拉去远程仓库的内容且忽略本地与远端不一致的commit
大数据·git·elasticsearch
一只乔哇噻1 小时前
java后端工程师进修ing(研一版 || day41)
java·开发语言·学习·算法
在未来等你1 小时前
Elasticsearch面试精讲 Day 11:索引模板与动态映射
大数据·分布式·elasticsearch·搜索引擎·面试
User_芊芊君子1 小时前
【Java】设计模式——单例、工厂、代理模式
java·设计模式·代理模式
2301_803554521 小时前
正向代理,反向代理,负载均衡还有nginx
java·nginx·负载均衡