elasticsearch之字段缓存策略
来源:互联网 发布:淘宝原单店铺推荐2016 编辑:程序博客网 时间:2024/06/05 15:39
过滤缓存
elasticsearch允许我们把某些字段的值加入到字段数据缓存中,这是灰常有用的,特别是在做基于字段排序或者聚合时。
elasticsearch支持两种类型三种形式的字段数据过滤,基于词频,基于正则以及基于两者结合的形式。
添加字段数据过滤信息格式如下
"tag":{
"type": "string",
"index": "not_analyzed",
"fielddata": {
"filter": {}
}
}
1.基于词频过滤
基于词频过滤是指那些只加载频率高于指定频率的最小值min且低于指定频率的最大值max.词项的频率是针对索引段的并非是针对索引的,
同一个词项在索引段级和索引级是不一样的。
min和max可以为一个百分比也可以为具体的特定值
如下:
min:20%等同于min:0.2
min:10
除此之外还包含此属性min_segment_size表示为在构建字段数据缓存时,此索引段中最少包含的
文档个数.小于此个数的索引段不会被考虑
如下:
min_segment_size:100
表示此索引段中至少不小于100个文档个数
保存词频在0.01到0.2之间且此索引段中文档个数不少于100的字段映射
{
"book": {
"properties": {
"tag": {
"type": "string",
"index": "not_analyzed",
"fielddata": {
"filter": {
"frequcency": {
"min": 0.01,
"max": 0.2,
"min_segment_size":100
}
}
}
}
}
}
}
2.基于正则表达式过滤
基于正则表达式过滤只有匹配特定表达式的词项会加载到字段数据缓存中
{
"book": {
"properties": {
"tag": {
"type": "string",
"index": "not_analyzed",
"fielddata": {
"filter": {
"regex": "^#.*"
}
}
}
}
}
}
3.基于词频和正则表达式过滤
{
"book": {
"properties": {
"tag": {
"type": "string",
"index": "not_analyzed",
"fielddata": {
"filter": {
"frequcency": {
"min": 0.01,
"max": 0.2,
"min_segment_size":100
},
"regex": "^#.*"
}
}
}
}
}
}
字段数据缓存虽然不是在建立索引时构建的,但是我们可以在查询期间重建,可以在运行时改变过滤行为可以通过api来改变fielddata配置节点来实现
elasticsearch允许我们把某些字段的值加入到字段数据缓存中,这是灰常有用的,特别是在做基于字段排序或者聚合时。
elasticsearch支持两种类型三种形式的字段数据过滤,基于词频,基于正则以及基于两者结合的形式。
添加字段数据过滤信息格式如下
"tag":{
"type": "string",
"index": "not_analyzed",
"fielddata": {
"filter": {}
}
}
1.基于词频过滤
基于词频过滤是指那些只加载频率高于指定频率的最小值min且低于指定频率的最大值max.词项的频率是针对索引段的并非是针对索引的,
同一个词项在索引段级和索引级是不一样的。
min和max可以为一个百分比也可以为具体的特定值
如下:
min:20%等同于min:0.2
min:10
除此之外还包含此属性min_segment_size表示为在构建字段数据缓存时,此索引段中最少包含的
文档个数.小于此个数的索引段不会被考虑
如下:
min_segment_size:100
表示此索引段中至少不小于100个文档个数
保存词频在0.01到0.2之间且此索引段中文档个数不少于100的字段映射
{
"book": {
"properties": {
"tag": {
"type": "string",
"index": "not_analyzed",
"fielddata": {
"filter": {
"frequcency": {
"min": 0.01,
"max": 0.2,
"min_segment_size":100
}
}
}
}
}
}
}
2.基于正则表达式过滤
基于正则表达式过滤只有匹配特定表达式的词项会加载到字段数据缓存中
{
"book": {
"properties": {
"tag": {
"type": "string",
"index": "not_analyzed",
"fielddata": {
"filter": {
"regex": "^#.*"
}
}
}
}
}
}
3.基于词频和正则表达式过滤
{
"book": {
"properties": {
"tag": {
"type": "string",
"index": "not_analyzed",
"fielddata": {
"filter": {
"frequcency": {
"min": 0.01,
"max": 0.2,
"min_segment_size":100
},
"regex": "^#.*"
}
}
}
}
}
}
字段数据缓存虽然不是在建立索引时构建的,但是我们可以在查询期间重建,可以在运行时改变过滤行为可以通过api来改变fielddata配置节点来实现
阅读全文
0 0
- elasticsearch之字段缓存策略
- elasticsearch之缓存清除策略
- Spark之缓存策略
- varnish缓存策略之director
- 学习之http缓存策略
- MyBatis缓存策略之二级缓存
- ElasticSearch的Mapping之字段类型
- ElasticSearch的Mapping之字段类型
- ElasticSearch的Mapping之字段类型
- ElasticSearch的Mapping之字段类型
- MyBatis缓存策略之一级缓存
- Hibernate框架应用之缓存策略
- Hibernate缓存系列之原理与策略
- 安卓漫漫路之缓存策略.
- 图片加载库之缓存策略和加载策略
- 【安卓中的缓存策略系列】安卓缓存策略之磁盘缓存DiskLruCache
- Elasticsearch function_score函数之field_value_factor(字段值影响_score)
- iOS网络加载图片缓存策略之ASIDownloadCache缓存优化
- 安装vegas的时候360报毒什么原因?
- WebSocket介绍与原理
- 关于Linux网络设备rtl8169代码分析笔记(一)-------MMIO
- QT GUI 屏幕自适应
- 【cocos2d-x 源码解析】shader 实现
- elasticsearch之字段缓存策略
- bzoj1257: [CQOI2007]余数之和sum(数论)
- [IBM MQ]2010解决
- Linux下终端配色设置
- xcode中关于pch和.h的引用
- C# 设置Excel打印选项及打印excel文档
- 在CentOS7上安装docker compose
- html5_AngularJs计时器
- 【排序算法】快速排序