ES 经过我的实测,会有一段冷却期的状态,即如果长时间不搜索,再一次搜索时,查询时间会变得很长很长,比如我的索引几十万数据,平时都在 500ms-1s 之内响应,刚刚隔了几个小时再去查询,查询时间都在 5s-11s 之间徘徊了,于是我写了一个 ES 心跳包的进程,每隔几秒钟就去查询一次 ES,使 ES 不处于“冷却”状态:
while(true){
$params =
[
'index' => 'Fuck_ES_18_generation',
'type' => 'haha',
'body' =>
[
'query' =>
[
'match' =>
[
"blahblah"=>rand(1,9999)
]
]
]
];
$client->search($params);
sleep(10);
}
//上面的 php 代码没测试哈,因为我已经卸载 ES 了 ^_^
// https://www.v2ex.com/t/411036 最终大结局画上了圆满的问号:)