发个自己写的 elasticsearch 心跳函数,可以实现 ES 一直处于被查询的状态

2017-12-02 19:27:34 +08:00
 Reign

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/411433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX