2013-10-14 3 views
1

Вот фрагмент кода мы использовали в прошлом пинг упругом поиска узел, просто чтобы проверить, если она есть:Удален ли ElasticClient.TryConnect из NEST?

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

Похоже ElasticClient.TryConnect был удален в NEST 0.11.5. Он полностью ушел или его просто переместили в другое место just like MapRaw/CreateIndexRaw?

В случае это было удалено, вот что я планирую сделать вместо этого:

Nest.ElasticClient client; // has been initialized 
var connectionStatus = client.Connection.GetSync("/"); 
var isHealthy = connectionStatus.Success; 

Похоже, это работает - или есть лучший способ заменить TryConnect?

ответ

5

да, они есть. Смотрите примечания к выпуску: https://github.com/Mpdreamz/NEST/releases/tag/0.11.5.0

Отрывок из примечания к выпуску:

Удалены IsValid и TryConnect()

Первые 2 особенности ElasticClient я писал почти три года назад, которые, казалось хорошей идеей в время. TryConnect() и .IsValid() - два путаных способа проверить, находится ли ваш узел вверх, RootNodeInfo() теперь возвращает сопоставленный ответ информации elasticsearch, когда вы нажимаете на узел в корне (версия, lucene_version и т. Д.), Или вы можете позвонить client.Raw.MainGet() или, возможно, даже лучше client.Raw.MainHead() или даже client.Connection.HeadSync("/").

Вы поймаете мой дрейф: так много способов запроса корня .IsValid и TryConnect() - это просто пух, который только вводит путаницу.

+0

Есть еще несколько комментариев здесь https://github.com/Mpdreamz/NEST/pull/349 – superlogical

+0

Итак ... если бы я хотел, чтобы Elasticsearch был доступен, прежде чем пытаться отправить данные в него, какой метод является наиболее идеальным ? 'RootNodeInfo()'? Этот ответ, кажется, предлагает 4 решения, без различия между ними. – Ellesedil

+0

'RootNodeInfo()' достаточно, вы также можете использовать 'Ping()' начиная с [1.1.0] (https://github.com/elasticsearch/elasticsearch-net/releases/tag/1.1.0). Когда вы используете соединение, NEST под обложками будет пинговать для вас при первом использовании узла. –

Смежные вопросы