搜索选项(Ctrl+F)搜索不到内容,一个一个找又有(ctrl加F搜索不出东西怎么办)
705
2022-05-29
Gateway层:代表elasticsearch索引快照的存储方式,ElasticSearch默认是先把索引存放到内存中,当内存满了时再持久化到本地硬盘。gateway对索引快照进行存储,当ElasticSearch集群关闭再重新启动时就会从gateway中读取索引备份数据。ElasticSearch支持多种类型的gateway,有本地文件系统(默认),分布式文件系统,Hadoop的HDFS和amazon的s3云存储服务。
Distributed Lucene Directory层:Gateway上层就是一个lucene的分布式框架,lucene是做检索的,但是它是一个单机的搜索引擎,像这种ElasticSearch分布式搜索引擎系统,虽然底层用lucene,但是需要在每个节点上都运行lucene进行相应的索引、查询以及更新,所以需要做成一个分布式的运行框架来满足业务的需要。
ElasticSearch 四大模块:
(1)Index Module是索引模块,对数据建立索引也就是通常所说的建立一些倒排索引等;
(2)Search Module是搜索模块,就是对数据进行查询搜索;
(3)Mapping模块是数据映射与解析模块,就是数据的每个字段根据建立的表结构通过mapping进行映射解析,如果没有建立表结构,ElasticSearch就会根据数据类型推测数据结构之后自己生成一个mapping,然后根据这个mapping进行数据解析;
(4)River模块代表ElasticSearch的一个数据源,也是其它存储方式(如:数据库, 官方的river有couchDB、RabbitMQ、Twitter、Wikipedia等)同步数据到ElasticSearch的一个方法。它是以插件方式存在的一个ElasticSearch服务,通过读取river中的数据并把它索引到ElasticSearch中。
Discovery层:该模块主要负责集群中节点的自动发现和Master节点的选举。节点之间使用p2p的方式进行直接通信,不存在单点故障的问题。ElasticSearch中,Master节点维护集群的全局状态,比如节点加入和离开时进行shard的重新分配。
Script层:ElasticSearch查询可以支撑多种script(即脚本语言),包括 mvel、js、python等。
Transport层:代表ElasticSearch内部节点或集群与客户端的交互方式,默认内部是使用TCP协议进行交互,同时它支持http协议(json格式)、thrift、servlet、memcached、zeroMQ等的传输协议(通过插件方式集成)。
Restful接口层:最上层是ElasticSearch暴露给我们的访问接口,官方推荐的方案就是Restful接口,直接发送http请求,方便后续使用nginx做代理、分发包括可能后续会做权限的管理,通过http很容易做这方面的管理。
Elasticsearch 分布式
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。