1.Elasticsearch是什么?
Elasticsearch是一个基于lucene构建的开源、分布式、RESTful接口全文搜索引擎。
2.特点
集群搭建、维护较容易
提供非常友好的RESTful接口
易扩展
近实时查询
聚合效率较高
较好的索引效率
周边生态健全,官方推广力度大,社区非常活跃
3.基本概念
索引词(term)、文本(text)、分析(analysis)、集群(cluster)、节点(node)、路由(routing)、分片(shard)、主分片(primary)、副本分片(replica shard)、复制(replica)、索引(index)、类型(type)、文档(document)、映射(mapping)、字段(field)、来源字段(source field)、主键(ID)
4.安装
https://www.cnblogs.com/libin2015/p/8462543.html
https://www.cnblogs.com/libin2015/p/8462567.html
https://www.cnblogs.com/libin2015/p/8462555.html
滚动升级:
- 如果可能的话,停止索引新的数据,这一步可以帮助提高恢复速度。
- 禁止分片分配
PUT /_cluster/settings { "transient" : { "cluster.routing.allocation.enable" : "none" } }
-
停止和升级一个节点。可以通过绿色解压安装或者RPM安装包等安装。保留之前的数据文件不能被破坏。把path.conf和path.data的位置指向之前的数据。
- 启动升级节点。通过接口检查是否正确。
GET _cat/nodes
- 启用共享配置。
PUT /_cluster/settings { "transient" : { "cluster.routing.allocation.enable" : "all" } }
- 等待节点恢复。必须完成碎片分配后再进行下一个节点升级。检查状态。
GET _cat/health
GET _cat/recovery - 重复升级其他节点。
5.接口
官网提供java、python、php等多种语言接口支持。java提供两种方式(java api和RESTful api),官方推荐使用RESTful api,java api将在7版本后废除。
https://www.elastic.co/guide/en/elasticsearch/client/index.html