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
相关推荐
WHabcwu1 分钟前
统⼀异常处理
java·开发语言
zaim11 分钟前
计算机的错误计算(一百六十三)
java·c++·python·matlab·错数·等价算式
枫叶丹42 分钟前
【在Linux世界中追寻伟大的One Piece】多线程(一)
java·linux·运维
2401_854391082 分钟前
Spring Boot OA:企业数字化转型的利器
java·spring boot·后端
山山而川粤10 分钟前
废品买卖回收管理系统|Java|SSM|Vue| 前后端分离
java·开发语言·后端·学习·mysql
武昌库里写JAVA12 分钟前
Vue3与Vue2 对比
spring boot·spring·毕业设计·layui·课程设计
黎跃春12 分钟前
智能体来了:构建用于具有结构化输出的内容审核的智能 AI Agent 智能体
人工智能·搜索引擎
栗豆包12 分钟前
w053基于web的宠物咖啡馆平台的设计与实现
java·struts·spring·tomcat·maven·intellij-idea
weixin_4467077441 分钟前
IDEA2024 maven构建跳过测试
java·maven
开朗觉觉1 小时前
RabbitMQ高可用&&延迟消息&&惰性队列
java·rabbitmq·java-rabbitmq