ElasticSearch笔记

基本概念:

cluster:集群

集群就是多个服务器,集群中的每一个服务器就是一个节点–node。其中有一个主节点,主节点这个概念是对于集群内部而言的。
对集群外部来说,是无中心节点的,与集群任何一个节点通信和与整个集群通信是一样的。

shards:分片

es可以把一个完整的索引分为多个分片放在不同的节点保存,这样做的好处是高可用,如果有一台宕机了,其他节点的分片副本组合起来也是一个完整的索引,数据不会丢失。
分片的数量只能在索引创建前指定,并且索引创建后不能更改。

replicas:副本

副本指的是分片的副本。副本的作用有两点,
一是提高系统的容错性,如果某个节点的某个分片损坏时,可以从副本中恢复。
二是可以提高查询效率,es会自动对查询请求负载均衡。

查询的种类:

叶查询子句:

这种查询可以单独使用,针对某一特定的字段查询,比如matchQuery、termQuery、rangeQuery等。

复合查询子句:

这种查询配合其他的叶查询或者复合查询,用于在逻辑上组成更复杂的查询,比如bool查询,提供三种api:
must、must_not、should,类似于SQL的and,not和or。

filter和query的区别?

关注点

1.query关注点:此文档与查询子句的匹配程度
filter关注点:此文档与查询子句匹配吗?

2.query特性:

  • 是否包含
    只要包含,文档就成为结果的一部分。
  • 相关度得分
    除了确定文档是否匹配,query还计算了文档的匹配程度的_score,得分越高的文件,搜索排名靠前。

3.query应用场景:

  • 全文检索
    因为全文检索很少有完全”正确“的答案,所以这种相关性、打分的概念适合全文检索。
    例如ik分词后的”中华人民共和国国歌“

3.filter特性:

  • 是否包含
    确定是否包含在检索结果中,回答只有”是“和”否“
  • 不涉及评分
    在搜索中没有相关度排名
  • 适用于完全精确匹配,范围检索
  • 查询速度更快
    经常使用的过滤器会被es自动缓存

4.filter使用场景
判断时间是否在2015年到2016年之间?
状态字段status是否设置为某个值?
判断集合使用filter

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值