使用ElasticSearch Nest缓存客户端连接,以便第一次调用客户端很快

时间:2014-06-23 18:08:57

标签: elasticsearch nest

我即将使用NEST客户端设置ElasticSearch的建议搜索。理想情况下,我将从输入的第二个字符开始匹配。但是,我第一次呼叫客户端需要600毫秒。每次后续通话都更像是20ms。有没有办法缓存或准备NEST客户端?

我已阅读此帖:Elasticsearch and .NET

我还读过,我可以创建一个新客户端,也可以使用相同的客户端实例,但不会产生任何影响。

我只是想在调用之前让客户端准备好使用,这样用户就不会等待客户端验证自己。

目前,只要用户点击网站,我就会与客户建立连接,然后在会话中保存客户端引用。但是,即使我已经建立了连接,第一次搜索仍然很慢。有没有办法预加载/缓存连接,以便在页面加载期间发生延迟?

1 个答案:

答案 0 :(得分:3)

构建的第一个命中缓存是每个AppDomain。所以你不需要缓存客户端本身。在第一次点击后,您要实例化的每个客户端都将是warm

我已经打开了工作票,因此您可以在应用程序启动时启动预热过程,这样您就不会因为预热成本而对系统的第一个用户造成不利影响。

https://github.com/elasticsearch/elasticsearch-net/issues/742