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 最终大结局画上了圆满的问号:)
1
ctsed 2017-12-02 19:33:37 +08:00 via Android 2
。。。。。
|
2
owenliang 2017-12-02 19:51:39 +08:00 via Android
这是我见过最酷的楼主。
|
3
dobelee 2017-12-02 20:13:36 +08:00 via Android
楼主吓得我点错了感谢。😳
|
4
lsvih 2017-12-02 20:20:22 +08:00
我的天。。看了前几个帖子,我还天真的以为楼主是来炸鱼找解决方案的。。
|
5
qfdk 2017-12-02 20:23:36 +08:00 via iPhone
这是个毛线方案啊 还不如 cron curl 呢
|
7
guodong110 2017-12-02 23:46:26 +08:00
体验下我的千万数据也是 ES 完全没问题 http://www.fastsoso.cn/ 1 核 2g 的小鸡
|
8
cppgohan 2017-12-02 23:50:10 +08:00
Fuck_ES_18_generation .. 服这个命名
|
9
ewBuyVmLZMZE 2017-12-03 05:25:33 +08:00 via iPhone
……十分无语,你需要知道查询原理和索引参数,而不是这么 low 地解决。
|
10
misaka19000 2017-12-03 08:58:47 +08:00 via Android
楼主该不会是 php 程序员吧。。。
|
11
iyaozhen 2017-12-03 10:06:46 +08:00 via Android
大力出奇迹
|
12
Immortal 2017-12-03 11:21:53 +08:00
我大 PHP 怕是又要招黑了
|