ElasticSearch
目录结构
py Python API示例
main Java API示例
es.yml 为Docker Stack配置文件可以直接启动一个容器
特点:
实时:
易用:将Lucene封装成好用Restful API。
集群
集群角色类似Zookeeper相同的节点中选举一个Master
并发处理上类似HDFS、HBase,主节点只管元数据。
客户端可以连接任何一个节点请求数据。
分片(shard)
分片类似Kafka中的Partition和HDFS中的Block存在副本机制。
分片的所有副本均可读(这点类似Zookeeper)
增加节点集群会自动平衡分片以及其副本(类似Kafka和HDFS的重平衡)
这些组件的概念是相似的,道理也是想通的,都可以沉淀出分布式系统的本质。
索引与类型
与关系型数据库对比。索引相当于数据库、类型相当于表。
ES7取消 类型(type)
API
分High Level REST 和 Low Level REST.
官网Java REST Client 和 Java API两种,要用Java REST Client后者已经过期。
Transport Client已经过时8.0彻底删除。
低 minor 版本Client可以和高版本的Server对接。但是高minor版本的Client发的请求,低版本Server可能识别不了。所以这属于向前/向上兼容