Elasticsearch 内存控制与地理定位技术解析
1. 预热器(Warmers)的使用
预热器与预加载类似,它将冷缓存的成本转移到了刷新时间。在注册预热器时,需要谨慎操作。虽然可以添加数千个预热器来确保每个缓存都被填充,但这会大幅增加新段可搜索的时间。
实际操作中,应选择能代表大部分用户查询的少量查询进行注册。部分管理细节(如获取现有预热器和删除预热器)暂未详细说明,可参考预热器文档获取更多信息。
2. 防止组合爆炸
术语桶(terms bucket)会根据数据动态创建桶,事先并不知道会生成多少个桶。单个聚合时这没问题,但当聚合嵌套聚合时,各聚合中唯一值的组合可能导致桶的数量急剧增加。
以电影数据集为例,每个文档列出电影中的演员:
{
"actors" : [
"Fred Jones",
"Mary Jane",
"Elizabeth Worthing"
]
}
若要确定前 10 名演员及其前 5 名搭档,可使用如下聚合查询:
{
"aggs" : {
"actors" : {
"terms" : {
"field" : "actors",
"size" : 10
},
"aggs" : {
"costars" : {
"terms" : {
"field" : "
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



