一、备份目标
1)备份原因
迁移备份线上ES数据到备份ES,后期计算TPS、单量等数据。
ES分页查询指定页时,需要从头查起,即需要查询出前置页 + 当前页的数据,然后返回当前页的数据。以操作文件举例,例如要取文件的第41行到50行,需要执行head -n 50 file | tail -n 10。所以使用from…size进行深分页查询时必然会消耗性能。
1)分页查询语法
ES的集群规模如果较大时,可以考虑设置专用主结点,设置参数可参考ES分片和副本。配置了参数后的结点被称为*Master-eligible node*,即候选主结点。这些候选主结点之间会通过选举,投票出一个主结点。
摘自:动态更新索引
一个 Lucene 索引 我们在 Elasticsearch 称作分片 。一个 Elasticsearch 索引 是分片的集合。 当 Elasticsearch 在索引中搜索的时候, 他发送查询到每一个属于索引的分片(Lucene 索引),然后像 执行分布式检索 提到的那样,合并每个分片的结果到一个全局的结果集。
ES官方文档-Update API中提到ES6.7.0版本前使用version
字段进行并发控制,而6.7.0开始使用if_seq_no,if_primary_term
进行并发控制。
倒排索引是适用于全文检索的一种索引结构,ES使用的正是这种结构。把一段需要建立倒排索引的文本(document)进行分词,然后建立词(term)到文本(document)的一对多的映射关系。这种由document内容反向索引documentId的映射结构,称为反向索引。