谈谈Elasticsearch原理
大家都知道,Elasticsearch是一个基于restful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。今天在某乎上看到一篇关于Elasticsearch原理的介绍,感觉非常有意思,在这里和大家一起分享一下。

倒排索引的思想
倒排索引又叫反向索引,是以诗句中的一些关键字作为索引,来找到诗句。通过关键字来建立反向索引,搜索引擎也是根据一个内容来找到想要的文章。只是搜索引擎流程稍复杂,涉及到网页爬取、停顿次过滤和分词等。搜索引擎都是对文章进行分词后,再按关键词建立倒排索引。
Elasticsearch的数据存储原理和分布式原理
Elasticsearch将对搜索引擎的操作都封装成了restful的api,通过http请求就能对其进行操作。同时还考虑了海量数据,实现了分布式,是一个可以存海量数据的分布式搜索引擎。ES中的数据是怎么进行分布式存储的呢?其实,ES是会对数据进行切分,同时每个分片会保存多个副本,其原因和HDFS是一样的,都是为了保证分布式环境下的高可用。
通过建立索引和类型,并将数据组织成Json格式存放进去,ES可以实现数据存储。只有建立索引和类型需要经过Master,数据的写入有一个简单的Routing规则,可以Route到集群中的任意节点,所以数据写入压力是分散在整个集群的。
以上是对Elasticsearch原理的简单介绍,希望对大家有所帮助。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6221.html
