ES 5.3以后出的新功能。测试demo如下:

下载ES 5.5版本,然后分别本机创建2个实例,配置如下:

cluster.name: xx1
network.host: 127.0.0.1
http.port: 9200
transport.tcp.port: 9300

cluster.name: xx2
network.host: 127.0.0.1
http.port: 9201
transport.tcp.port: 9301

再创建一个实例用于跨集群搜索,配置如下:

http.port: 9202
transport.tcp.port: 9302search:remote:
        cluster_one:seeds: 127.0.0.1:9300cluster_two:seeds: 127.0.0.1:9301

然后写入测试数据 es_data.json:

{ "index" : { "_index" : "test2", "_type" : "xx"}}{ "age" : 100, "name":"bone" }

插入一条数据到9200机器:

 curl -XPOST localhost:9200/_bulk --data-binary @es_data.json

然后写入测试数据 es_data2.json:

{ "index" : { "_index" : "test2", "_type" : "xx"}}{ "age" : 99, "name":"jack" }

同理再插入一条数据到9201机器:

curl -XPOST localhost:9201/_bulk --data-binary @es_data2.json

执行搜索:

 curl -XPOST localhost:9202/cluster_*:test2/xx/_search?q=*{"took":23,"timed_out":false,"_shards":{"total":10,"successful":10,"failed":0},"hits":{"total":2,"max_score":1.0,"hits":[{"_index":"cluster_two:test2","_type":"xx","_id":"AV-jy_6M9ed_QHEOL8Zd","_score":1.0,"_source":{ "age" : 99, "name":"jack" }},{"_index":"cluster_one:test2","_type":"xx","_id":"AV-jy8ivwbfD6QGw1gPg","_score":1.0,"_source":{ "age" : 100, "name":"bone" }}]}}

可以看到获得了两个集群的搜索数据。

执行聚合:

curl -XPOST localhost:9202/cluster_*:test2/xx/_search? -d '
{"aggs": {"all_age": {"terms": { "field": "age" }}}
}
'

返回:

{"took":25,"timed_out":false,"_shards":{"total":10,"successful":10,"failed":0},"hits":{"total":2,"max_score":1.0,"hits":[{"_index":"cluster_two:test2","_type":"xx","_id":"AV-jy_6M9ed_QHEOL8Zd","_score":1.0,"_source":{ "age" : 99, "name":"jack" }},{"_index":"cluster_one:test2","_type":"xx","_id":"AV-jy8ivwbfD6QGw1gPg","_score":1.0,"_source":{ "age" : 100, "name":"bone" }}]},"aggregations":{"all_age":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,

"buckets":[{"key":99,"doc_count":1},{"key":100,"doc_count":1}]}}}

可以看到聚合的返回包含了两个集群的合并结果。

参考:

https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cross-cluster-search.html

https://www.elastic.co/guide/en/kibana/current/management-cross-cluster-search.html  kibana是可以直接支持跨集群的哈!

转载于:https://www.cnblogs.com/bonelee/p/7813488.html

ES cross cluster search跨集群查询相关推荐

  1. 最佳实践 | 基于腾讯云ES如何跨地域容灾?跨集群复制为您解忧!

    作者:吴容,腾讯云大数据Elasticsearch高级开发工程师 腾讯云大数据ES目前已经提供了多可用区部署,即支持同地域跨机房的高可用容灾方案,满足了绝大多数客户的需求.但是依然会有部分客户希望进一 ...

  2. Elastic:集群相关知识点总结(一)数据流 Data Stream、索引生命周期 ILM、可搜索快照 searchable snapshots、跨集群搜索 CCS、跨集群复制 CCR

    0.引言 集群管理是ES的核心重点,因此相关的知识点至关重要,本期主要针对数据流.索引生命周期.可搜索快照.跨集群搜索.跨集群复制进行讲解 1.数据流 Data Stream 官方文档:Data st ...

  3. 跨集群复制(CCR)

    跨集群复制(CCR) 复制经常被采用的策略:从translog拿到更新的历史,把它放到queue里面,然后拿到远程集群去重放所有的action,以达到回放的目的. 同样的ccr工程团队也是优先考虑回放 ...

  4. 【elasticsearch】跨集群搜索

    1.概述 ES 6.X 原生支持跨集群搜索,具体配置请参考:https://www.elastic.co/guide/en/kibana/current/management-cross-cluste ...

  5. 实现Kubernetes跨集群服务应用的高可用

    我们在进行生产环境部署时得到的一个明确的需求,是Kubernetes用户希望服务部署能够zone.跨区域.跨集群甚至跨云边界(译者:如跨云供应商).相比单集群多zone部署,跨集群服务提供按地域分布, ...

  6. 如何使用 K8s 实现跨集群管理,这篇文章告诉你了!赶紧收藏

    一.背景 集群联邦(Federation)的目的是实现单一集群统一管理多个Kubernetes集群的机制,这些集群可能是跨地区(Region),也可能是在不同公有云供应商上,或者是公司内部自行建立的集 ...

  7. Elasticsearch:跨集群复制 Cross-cluster replication(CCR)

    跨集群复制(CCR)功能支持将远程集群中的索引复制到本地集群. 可以在一些常见的生产用例中使用此功能: 灾难恢复(DR)/高可用性(HA):如果主群集发生故障,则进行灾难恢复. 辅助群集可以用作热备份 ...

  8. 3分钟学会使用Elasticsearch跨集群复制功能(CCR)

    当您需要将本地Elasticsearch集群中的索引数据迁移到一个远程集群中,或者将一个远程集群中的索引数据迁移到本地集群,可通过跨集群复制CCR(Cross Cluster Replication) ...

  9. Elasticsearch跨集群复制(CCR)介绍

    跨集群复制(CCR,cross-cluster replication)属于xpack增强包中的功能,需要白金级.企业级证书才可使用.CCR可以将远程集群(leader)中的索引复制到本地集群(fol ...

最新文章

  1. springcloud是什么_阿里P8道出,入职阿里必会199道SpringCloud面试题,你能掌握多少?...
  2. Vivado Logic Analyzer中VIO核的使用
  3. svd协同过滤java实现_利用 SVD 实现协同过滤推荐算法
  4. HarmonyOS之深入解析NFC的功能和使用
  5. 1000并发 MySQL数据库_再送一波干货,测试2000线程并发下同时查询1000万条数据库表及索引优化...
  6. nacos 服务日志_如何屏蔽Nacos日志输出?
  7. [附源码]Java计算机毕业设计SSM公立医院绩效考核系统
  8. 网络蜘蛛及搜索引擎基本原理
  9. Excel VBA员工培训从哪里开始
  10. 以太网交换机如何工作以及MAC和PHY
  11. 赵鑫:简单技术指标的高明运用
  12. 小程序---宿主环境(常用组件、api)---02
  13. 大专学历就职会不会有瓶颈?
  14. 3dMax 制作玻璃材质
  15. 跑步耳机怎么选、最好用的跑步专用耳机分享
  16. 什么是机器学习?简单理解
  17. python弹性碰撞次数圆周率_碰撞出来的圆周率(一)
  18. cm-14.1 Android系统启动过程分析(8)-应用程序进程启动过程
  19. Discuz3.4-SSRF-从触发点到构造payload
  20. 这段Rap火了!「中本聪VS汉密尔顿」谁有道理?(附视频)

热门文章

  1. shell编程中的 ${ }强大功能
  2. java定时器返回future_java 定时器线程池(ScheduledThreadPoolExecutor)的实现
  3. datename mysql_sql DATENAME 用法
  4. php intval 变小,php intval() 小数时安全漏洞分析
  5. 【Java Web前端开发】JavaScript基础
  6. python【蓝桥杯vip练习题库】BASIC-11 十六进制转十进制
  7. Android技术应用实验指导书,Android应用开发实验指导书
  8. java使用strlen_java – “strlen(s1) – strlen(s2)”永远不会小于零
  9. Oracle 11g Win10卸载 ,亲测
  10. 网站导航栏如何设置更利于提升SEO优化效果?