Elasticsearch技术解析与实战-入门

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

原文地址:https://www.cnblogs.com/libin2015/p/10371353.html