分公司一般做网站吗,吉林省吉林市丰满区,自己注册一个公司需要多少钱,建站快车管理一、Elasticsearch概述#xff1a;
ES是基于Lucene的搜索服务器#xff0c;它提供了一个分布式多用户能力的全问搜索引擎#xff0c;且ES支持RestFulweb风格的url访问。ES是基于Java开发的开源搜索引擎#xff0c;设计用于云计算#xff0c;能够达到实时搜索#xff0c;…一、Elasticsearch概述
ES是基于Lucene的搜索服务器它提供了一个分布式多用户能力的全问搜索引擎且ES支持RestFulweb风格的url访问。ES是基于Java开发的开源搜索引擎设计用于云计算能够达到实时搜索稳定、可 靠、快速。此外ES还提供了数据聚合分析功能但在数据分析方面es的时效性不是很理想在企业应用中一般还是用于搜索。ES自2016年起已经超过Solr等称为排名第一的搜索引擎应用。
1.1 ES、Lucene、solr对比
Luence是Apache基于Java编写的信息搜索工具包jar包它包含了索引结构、读写索引工具、相关性工具、排序等功能因此Lucene的使用需要我们进一步开发搜索引擎系统 如果数据获取、解析、分词等。 Solr 是一个有HTTP接口的基于Lucene的查询服务器是一个搜索引擎系统系统封装了很多lucene细节Solr可以直接利用HTTP GET/POST 请求去查询维护修改索引。Solr利用zookeeper进行分布式管理它的实现更加全面官方提供的功能更多。 Elasticsearch 是一个建立在全文搜索引擎Apache Lucene基础上的搜索引擎采用的策略师分布式实时文件存储并将每一个字段都编入索引使其可以被搜索。 es的实时搜索性比solr更好。
1.2 ES的特性
速度快、易扩展、弹性、灵活、操作简单、多语言客户端、X-Pack、开箱即用。分布式横向扩展非常灵活 全文检索基于lucene的强大的全文检索能力近实时搜索和分析数据进入ES可达到近实时搜索还可进行聚合分析高可用容错机制自动发现新的或失败的节点重组和重新平衡数据模式自由ES的动态mapping机制可以自动检测数据的结构和类型创建索引并使数据可搜索。RESTful APIJSON HTTP
二、Elasticsearch基本概念
2.1 概念
1.集群cluster 一个ES集群由多个节点node组成 每个集群都有一个共同的集群名称最为标识
2.节点node 一个es实例即为一个节点一台机器可以有多个节点正常使用下每个实例都应该会部署在不同的机器上。ES的配置文件中可以通过node.master、 node.data 来设置节点类型 node.master true/false 表示节点是否具有成为主节点的资格 node.data true/false表示节点是否为存储数据 node.ingest : 执行文档在索引之前的预处理操作、数据转换、清洗、标准化等一般Pipeline用到 3.索引index 一个索引是一个拥有一些相似特征的文档的集合相当于关系型数据库中的一个数据库。 例如您可以拥有一个客户数据的索引一个商品目录的索引以及一个订单数据的索引。一个索引通常使用一个名称所有字母必须小写来标识当针对这个索引的文档执行索引、搜索、更新和删除操作的时候这个名称被用来指向索引。
es关系型数据库倒排索引(Inverted index索引index字段(field)数据列或字段(column)文档(document)数据行(Row)映射关系(mapping)表结构及字段类型定义(Schema)类型(type)表(table)索引(index)数据库(Database)
4.分片 shard
Elasticsearch可以把一个完整的索引分成多个分片这样的好处是可以把一个大的索引拆分成多个分布到不同的节点上构成分布式搜索。 分片的数量只能在索引创建前指定并且索引创建后不能更改。 一个分片可以是主分片用P表示或副本分片用R表示。 Elasticsearch 7.0以下版本默认为一个索引创建5个主分片并分别为每个主分片创建1个副本分片7.0及以上版本默认创建1个主分片和1个副本分片。两者区别如下
分片类型支持处理的请求数量是否可以被修改备注主分片支持处理索引和查询请求创建索引时指定已经创建好的索引无法修改索引内的任意一个文档都存储于索引内某个主分片中,因此主分片的数量和大小决定着索引能够保存的最大数据量过多的分片个数会导致集群启动压力大启动、恢复、响应慢副分片支持处理查询请求索引请求需要由主分片同步机制触发可以在创建索引时指定已经创建好的索引可以动态修改副本的作用体现在两个方面1. 提高系统容错性当某个节点或某个分片损坏丢失时可以从副本中恢复。2.提高查询的效率XH-Elasiticsearch会对搜索请求进行负载均衡