一线大厂面试真题——谈谈你对ES的理解

Elasticsearch,简称ES。它是建立在全文搜索引擎库Apache Lucene基础之上的一个开源的搜索引擎,也可以作为NoSQL数据库,存储任意格式的文档和数据。也可以做大数据的分析,是一个跨界开源产品。

它最主要的应用场景是ELK的日志分析系统。

另外它还有以下特点:

1.   第一、采用Master-slave架构,实现数据的分片和备份

2.   第二、使用Java编写,并对Lucene进行封装,隐藏了Lucene的复杂性

3.   第三、能胜任上百个服务节点的扩展,并支持PB级别的结构化或者非结构化数据

4.   第四、ES提供Restful API,不仅简化了ES的操作,还支持任何语言的客户端提供API接口,另外Restful API的风格还现了CURD操作、创建索引,删除索引等功能。

ES的使用上有一些经验心得,比如:

1.   es面复杂的关联查询尽量别用,一旦用了性能都不太好。最好是先在Java系统里就完成关联,将关联好的数据直接写入ES中

2.   避免一些太复杂的操作,比如join/nested/parent-child搜索,不然容易出现性能问题。

3.   避免深分页查询,ES集群的分页查询支持from和size参数,查询的时候,每个分片必须构造一长度为from+size的优先队列,然后回传到网关节点,网关节点再对这些优先队列进行排序找到正确的size文档。当from足够大的时候,就算不发生OOM,也会影响到CPU和带宽等,从而影响到整个集群的性能。

相关推荐

  1. 一线大厂面试——谈谈ES理解

    2024-02-02 23:48:01       52 阅读
  2. 谈谈 ES6 理解

    2024-02-02 23:48:01       34 阅读
  3. 面试谈谈SpringBoot理解

    2024-02-02 23:48:01       39 阅读
  4. 谈谈Seata理解

    2024-02-02 23:48:01       59 阅读
  5. 谈谈线程安全理解

    2024-02-02 23:48:01       55 阅读
  6. 什么是 RESTful API?谈谈理解

    2024-02-02 23:48:01       27 阅读
  7. Vue2面试:说一下vuex理解

    2024-02-02 23:48:01       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-02 23:48:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-02 23:48:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-02 23:48:01       87 阅读
  4. Python语言-面向对象

    2024-02-02 23:48:01       96 阅读

热门阅读

  1. linux 上库五步走,经验贴

    2024-02-02 23:48:01       50 阅读
  2. Spark如何用累加器Accumulator收集日志

    2024-02-02 23:48:01       54 阅读
  3. unity打开外部exe,并将其置顶

    2024-02-02 23:48:01       53 阅读
  4. Kubernetes实战(二十二)-Pod时区修改

    2024-02-02 23:48:01       58 阅读
  5. C# Newtonsoft.Json解析json笔记

    2024-02-02 23:48:01       46 阅读
  6. 【Git系列】修改远程分支名

    2024-02-02 23:48:01       58 阅读
  7. virtualBox虚拟机安装ubuntu后的必要配置

    2024-02-02 23:48:01       59 阅读
  8. 备考蓝桥杯每日一题——C++分支结构“ABC”

    2024-02-02 23:48:01       46 阅读
  9. 原子计数器缓冲区 Atomic Counter Buffers

    2024-02-02 23:48:01       43 阅读
  10. 蓝桥杯-景区导游-DFS

    2024-02-02 23:48:01       41 阅读
  11. 代码随想录算法训练营第二十四天|77. 组合

    2024-02-02 23:48:01       47 阅读
  12. 安卓之代码检查工具优劣分析以及应用场景

    2024-02-02 23:48:01       52 阅读
  13. 【Python】websockets库的介绍及用法

    2024-02-02 23:48:01       48 阅读