Category: ElasticSearch

2

ElasticSearch基础之分布式存储

我们在之前的文章中讨论了ElasticSearch中cluster的创建,也了解了Shard的概念,本文就来聊聊ElasticSearch的数据是如何在各个shard中保存和查询的。 文本和Shared的关系 我们知道index的文本是会保存到一个primary的shard中,那么ElasticSearch是如何知道某个文本是属于哪一个shard的呢?比如说我们要保存文本的时候,是应该把它保存到shard1还是shard2,读取的时候又是应该到shard1中查找还是shard2中查找,这些都是如何决定的呢? 这个问题乍一听起来好像还蛮神秘,其实仔细一想也很简单,只有有一个统一的基于某个id的算法就可以实现了。在ElasticSearch中,它是通过下面这个公式来计算的: 这里routing的值默认就是文本的id(当然也可以自定义),这样一来我们就可以把某一个文本指定到特定的shard中。...

0

ElasticSearch基本概念之Cluster介绍

ElasticSearch是一个基于Apache Lucene的开源搜索引擎。我们都知道Apache Lucene是一个很高效的全文本搜索引擎库,但说到底它还是一个库,所以用起来很不方便,而ElasticSearch就是在其基础上实现的,它屏蔽了Lucene的复杂底层实现,提供了分布式的特性,同时对外也提供了相应的Restful的API。所以,总得来说,ElasticSearch其实上手很容易,本文就从最基本的操作开始来介绍一下ElasticSearch相关的内容。 ElasticSearch的安装 相关的安装很简单,大家可以参见官网:https://www.elastic.co/guide/en/elasticsearch/reference/7.14/install-elasticsearch.html,这里就不详细介绍了。...