elasticsearch中的过滤器和缓存

        过滤器是用来实现缓存的很好的办法,因为缓存这些过滤结果不需要太多的内存,而且其他的查询可以重用这些过滤,需要注意的是这里指的是同样参数下的。

       某些过滤产生的结果是很易于缓存的,有关缓存与否的区别在于是否将过滤结果存放到缓存中。

       对于term、terms、prefix、range默认都是会进行缓存的,并且建议使用这些过滤条件,而不是同等效果的查询。

      而其他的过滤器,一般会将字段数据加载到内存中来进行工作,通常是不缓存结果的,主要是因为这些过滤的操作本身就比较快,而且如果要复用这些缓存结果的话,还需要做很多额外的工作。

      对于某些过滤器之间的组合,比如and、not、or,它们是不会缓存结果的,因为它们主要是操作内联的过滤器,所以不需要过滤。

       所有的过滤器都允许设置_cache元素来显式的控制是否进行缓存,并且允许设置一个_cache_key用来当做缓存的主键,这个在过滤大集合的情况下非常有用,比如包含很多元素的terms  filter。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值