解释有关 Elasticsearch的 NRT?

NRT是Elasticsearch中的一种搜索模式,全称为Near Real Time。它允许用户在写入数据后几乎立即进行搜索,而不需要等待数据被完全索引。NRT搜索模式结合了存储和搜索的优点,提供了快速的响应时间和灵活的查询类型。

在Elasticsearch中,数据被写入后,并不会立即被索引,而是先存储在Translog中。Translog是一个持久化的日志,用于记录所有对Elasticsearch的写操作。当Translog中的数据被写入到主分片(primary shard)时,该数据才被视为已索引。

NRT搜索模式利用了Translog来实现快速的数据检索。当用户执行搜索请求时,Elasticsearch会首先检查Translog中是否有最新的写入数据,如果有,则立即返回这些数据。由于Translog是持久化的,即使在Elasticsearch重启后,已写入的数据也不会丢失。因此,NRT搜索模式能够在写入数据后几乎立即进行搜索,而不需要等待数据被完全索引。

相比之下,传统的搜索模式需要等待数据被完全索引后才能进行搜索,这通常需要较长的时间。因此,NRT搜索模式能够提供更快的响应时间和更灵活的查询类型。

发表评论

后才能评论