这是我们过去用来ping Elastic Search节点的代码段,只是用来检查它是否存在:

Nest.ElasticClient client; // has been initialized
ConnectionStatus connStatus;
client.TryConnect(out connStatus);
var isHealthy = connStatus.Success;

看来NEST 0.11.5中已删除ElasticClient.TryConnect。它是完全消失了还是刚被移到了just like MapRaw/CreateIndexRaw其他地方?

万一它被删除了,这是我打算做的:
Nest.ElasticClient client; // has been initialized
var connectionStatus = client.Connection.GetSync("/");
var isHealthy = connectionStatus.Success;

看起来像这样-还是有更好的方法来替换TryConnect

最佳答案

是的,他们有。请参阅发行说明:
https://github.com/Mpdreamz/NEST/releases/tag/0.11.5.0

发行说明摘录:

删除了IsValidTryConnect()
我在三年前编写的ElasticClient的前两个功能在当时似乎是个好主意。 TryConnect().IsValid()是检查节点是否正常的两种令人困惑的方法,RootNodeInfo()现在会在您击中根节点(版本,lucene_version等)时返回信息elasticsearch返回的映射响应,或者您可以调用client.Raw.MainGet()甚至更好client.Raw.MainHead()甚至client.Connection.HeadSync("/")

您不知所措:查询根.IsValid的方法很多,而TryConnect()只是绒毛,只会引起混乱。

关于elasticsearch - ElasticClient.TryConnect是否已从NEST中删除?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19366900/

10-15 22:43