es最强大的是做全文检索,就是比如你有三条数据:
1.庆余年的男主是范闲.
2.范闲是庆国庆帝的私生子.
3.范闲是穿越到庆国的人.
搜索范闲 1.2.3
搜索庆国2.3
搜索私生子3
你根据 范闲 关键词来搜索,将包含 范闲 的document给搜索出来.es就会给你返回1,2,3三条信息.
1.客户端发送请求到一个协调节点.
2.协调节点将搜索请求转发到所有的shard对应的primary shard或replica shard,都可以.
3.query phase:每个shard将自己的搜索结果(其实就是一些doc id)返回给协调节点,由协调节点进行数据的合并,排序,分页等操作,产出最终结果.
4.fetch phase:接着由协调节点根据doc id去各个节点上拉去实际的document数据,最终返回给客户端.