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
相关推荐
longxibo2 分钟前
【第1章 环境搭建与项目结构解析】
java·后端·流程图
a***72893 分钟前
Java进阶(ElasticSearch的安装与使用)
java·elasticsearch·jenkins
剑神一笑6 分钟前
从零开始理解 robots.txt:搜索引擎爬虫的“门禁系统“
爬虫·搜索引擎
Java成神之路-8 分钟前
面试题:Spring AOP底层实现原理
java·spring aop
Python私教10 分钟前
如意Agent日志系统重构:从 print() 大海捞针到结构化可观测性栈
java·前端·重构
jieyucx15 分钟前
Go 零基础数据结构:顺序表(像「排抽屉」一样学增删改查)
java·数据结构·golang
曦夜日长16 分钟前
C++ STL容器string(一):string的变量细节、默认函数的认识以及常用接口的使用
java·开发语言·c++
逸Y 仙X18 分钟前
文章十八:Elasticsearch 多条件组合查询实战运用
大数据·elasticsearch·搜索引擎
北山有鸟23 分钟前
IS_ERR 判断出错后,再用 PTR_ERR 把它强制转换回 int 型的错误码作为函数的返回值。
java·开发语言
phltxy29 分钟前
深度解析:Spring Cloud Gateway 从入门到实战
java·开发语言