56.fielddata filter的细粒度内存加载控制

   

语法: app

   

POST /test_index/_mapping/test_type 学习

{ spa

"properties": { 内存

"test_field": { io

"type": "text", class

"fielddata": { test

"filter": { exception

"frequency": { map

"min": 0.01, 语法

"min_segment_size": 500

}

}

}

}

}

}

   

min:仅仅加载至少在1%doc中出现过的term对应的fielddata。好比es总共有1000doc,现查询的词是hello,那么hello必须在10doc中出现,这个hello对应的fielddata才会加载到内存中来

min_segment_size500,是指少于500docsegment不加载fielddata

加载fielddata的时候,也是按照segment去进行加载的,某个segment里面的doc数量少于500个,那么这个segmentfielddata就不加载。

这项目设置偏底层了,在通常工做学习中,不用去设置。

另:

在我自已的环境中未实验成功:

{

"error": {

"root_cause": [

{

"type": "illegal_argument_exception",

"reason": "Can't parse boolean value [{filter={frequency={min=0.01, min_segment_size=500}}}], expected [true] or [false]"

}

],

"type": "illegal_argument_exception",

"reason": "Can't parse boolean value [{filter={frequency={min=0.01, min_segment_size=500}}}], expected [true] or [false]"

},

"status": 400

}

相关文章
相关标签/搜索