一线大厂面试真题——谈谈你对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和带宽等,从而影响到整个集群的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值