elasticsearch初探

本文详细介绍了Elasticsearch的工作原理,包括其分布式架构、写入和查询机制,以及全文检索的强大功能。阐述了如何通过多台机器启动多个ES进程构成集群,实现数据的横向扩展和高性能搜索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.es大致介绍
    分布式搜索引擎,底层为lucene,核心思想多台机器启动多个es进程构成集群.
    index->type->mapping->document->field
    
    shard
    横向扩展
    提高性能
    
    primary shard-> replica shard
    高可用

2.写入原理,查询原理
    写入
    1.客户端选择一个Node发送请求,coordinating node
    2.coordinating node负责路由,发送到对应node
    3.primary shard同步到replica node
    4.如果都完毕,响应结果返回给client

    读取
    1.每个doc有一个id,通过doc_id进行hash,找到指定shard的数据,进行查询
    2.coordinating node对doc_id进行hash路由,请求转发到对应node,然后随机轮询算法,在primary shard以及replica中随机选一个,读请求负载均衡.
    3.接受请求的node返回document给coordinating node
    4.coordinating node返回给客户端
    
3.搜索原理
    es 最强大的是做全文检索
    
    java真好玩儿啊
    java好难学啊
    j2ee特别牛
    
    你根据java关键词来搜索,将包含java的document 给搜索出来。
    es就会给你返回:java真好玩儿啊,java好难学啊。

    1.客户端发送请求到一个 coordinate node。
    2.协调节点将搜索请求转发到所有的 shard 对应的 primary shard 或 replica shard,都可以。
    3.query phase:每个 shard 将自己的搜索结果(其实就是一些 doc id)返回给协调节点,由协调节点进行数据的合并、排序、分页等操作,产出最终结果。
    4.fetch phase:接着由协调节点根据 doc id 去各个节点上拉取实际的 document 数据,最终返回给客户端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值