# Official .NET client

**URL:** <https://discuss.elastic.co/t/official-net-client/14066>\
**Category:** Elasticsearch\
**Created:** [October 23, 2013, 7:46am UTC](https://discuss.elastic.co/t/official-net-client/14066 "2013-10-23T07:46:46Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![lasseschou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lasseschou/32/845_2.png) [@lasseschou](https://discuss.elastic.co/u/lasseschou)\
**Post date:** [October 23, 2013, 7:46am UTC](https://discuss.elastic.co/t/official-net-client/14066/1 "2013-10-23T07:46:46Z")

</div>

Hi,

According to your September blog post,  
[http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/](http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/),  
more official clients will be added "in the future".

Have you got any concrete plans on releasing an official .NET client?

And if not, are you aware of any .NET client that "play nicely with the  
cluster", ie. handle node failure and is generally cluster-aware?

Thanks,  
Lasse

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Itamar\_Syn\_Hershko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/itamar_syn_hershko/32/725_2.png) [@Itamar\_Syn\_Hershko](https://discuss.elastic.co/u/Itamar_Syn_Hershko)\
**Post date:** [October 23, 2013, 7:50am UTC](https://discuss.elastic.co/t/official-net-client/14066/2 "2013-10-23T07:50:42Z")

</div>

What do you mean by "handle node failure"?

I find NEST a great client for .NET [GitHub - elastic/elasticsearch-net: This strongly-typed, client library enables working with Elasticsearch. It is the official client maintained and supported by Elastic.](https://github.com/Mpdreamz/NEST) - with  
serialization/deserialization, Linq support and lots more

On Wed, Oct 23, 2013 at 10:46 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com) wrote:

> Hi,
> 
> According to your September blog post,  
> [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/),  
> more official clients will be added "in the future".
> 
> Have you got any concrete plans on releasing an official .NET client?
> 
> And if not, are you aware of any .NET client that "play nicely with the  
> cluster", ie. handle node failure and is generally cluster-aware?
> 
> Thanks,  
> Lasse
> 
> --  
> You received this message because you are subscribed to the Google Groups  
> "elasticsearch" group.  
> To unsubscribe from this group and stop receiving emails from it, send an  
> email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![lasseschou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lasseschou/32/845_2.png) [@lasseschou](https://discuss.elastic.co/u/lasseschou)\
**Post date:** [October 23, 2013, 8:35am UTC](https://discuss.elastic.co/t/official-net-client/14066/3 "2013-10-23T08:35:01Z")

</div>

Let's imaging you have 3 ES nodes. When using NEST I can only connect to  
one node. So what happens when that node goes down? Isn't that a single  
point of failure?

See

> <https://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#14976103>

2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)

> What do you mean by "handle node failure"?
> 
> I find NEST a great client for .NET [GitHub - elastic/elasticsearch-net: This strongly-typed, client library enables working with Elasticsearch. It is the official client maintained and supported by Elastic.](https://github.com/Mpdreamz/NEST) -  
> with serialization/deserialization, Linq support and lots more
> 
> On Wed, Oct 23, 2013 at 10:46 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> 
> > Hi,
> > 
> > According to your September blog post,  
> > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/),  
> > more official clients will be added "in the future".
> > 
> > Have you got any concrete plans on releasing an official .NET client?
> > 
> > And if not, are you aware of any .NET client that "play nicely with the  
> > cluster", ie. handle node failure and is generally cluster-aware?
> > 
> > Thanks,  
> > Lasse
> > 
> > --  
> > You received this message because you are subscribed to the Google Groups  
> > "elasticsearch" group.  
> > To unsubscribe from this group and stop receiving emails from it, send an  
> > email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).
> > 
> > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> 
> --  
> You received this message because you are subscribed to a topic in the  
> Google Groups "elasticsearch" group.  
> To unsubscribe from this topic, visit  
> [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe).  
> To unsubscribe from this group and all its topics, send an email to  
> [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Itamar\_Syn\_Hershko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/itamar_syn_hershko/32/725_2.png) [@Itamar\_Syn\_Hershko](https://discuss.elastic.co/u/Itamar_Syn_Hershko)\
**Post date:** [October 23, 2013, 8:48am UTC](https://discuss.elastic.co/t/official-net-client/14066/4 "2013-10-23T08:48:37Z")

</div>

It's fairly easy to implement a pool of Connection objects (or however they  
called, can't remember now) and switch between them. I agree having a  
TransportClient-like implementation where the client is able to failover to  
the next node in the list is nice, but as I said its fairly easy to do from  
a wrapper. I would also assume this should be easy to implement in the  
core, will look at it sometime soon.

On Wed, Oct 23, 2013 at 11:35 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com) wrote:

> Let's imaging you have 3 ES nodes. When using NEST I can only connect to  
> one node. So what happens when that node goes down? Isn't that a single  
> point of failure?
> 
> See  
> [http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328\_14976103](http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328_14976103)
> 
> 2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)
> 
> > What do you mean by "handle node failure"?
> > 
> > I find NEST a great client for .NET [GitHub - elastic/elasticsearch-net: This strongly-typed, client library enables working with Elasticsearch. It is the official client maintained and supported by Elastic.](https://github.com/Mpdreamz/NEST) -  
> > with serialization/deserialization, Linq support and lots more
> > 
> > On Wed, Oct 23, 2013 at 10:46 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> > 
> > > Hi,
> > > 
> > > According to your September blog post,  
> > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/),  
> > > more official clients will be added "in the future".
> > > 
> > > Have you got any concrete plans on releasing an official .NET client?
> > > 
> > > And if not, are you aware of any .NET client that "play nicely with the  
> > > cluster", ie. handle node failure and is generally cluster-aware?
> > > 
> > > Thanks,  
> > > Lasse
> > > 
> > > --  
> > > You received this message because you are subscribed to the Google  
> > > Groups "elasticsearch" group.  
> > > To unsubscribe from this group and stop receiving emails from it, send  
> > > an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).
> > > 
> > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > 
> > --  
> > You received this message because you are subscribed to a topic in the  
> > Google Groups "elasticsearch" group.  
> > To unsubscribe from this topic, visit  
> > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe).  
> > To unsubscribe from this group and all its topics, send an email to  
> > [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).
> > 
> > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> 
> --  
> You received this message because you are subscribed to the Google Groups  
> "elasticsearch" group.  
> To unsubscribe from this group and stop receiving emails from it, send an  
> email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![lasseschou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lasseschou/32/845_2.png) [@lasseschou](https://discuss.elastic.co/u/lasseschou)\
**Post date:** [October 23, 2013, 8:52am UTC](https://discuss.elastic.co/t/official-net-client/14066/5 "2013-10-23T08:52:18Z")

</div>

The optimal solution would be to configure the NEST client with IP  
addresses to the nodes, and then let NEST deal with all connection tasks,  
including removing a dead node from the connection list and re-adding it.

I know it's always a discussion about where to put this functionality, but  
take a look at how Couchbase's clients handle this. Very easy to use, and  
abstracts the cluster/node-awareness away from the developer.

2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)

> It's fairly easy to implement a pool of Connection objects (or however  
> they called, can't remember now) and switch between them. I agree having a  
> TransportClient-like implementation where the client is able to failover to  
> the next node in the list is nice, but as I said its fairly easy to do from  
> a wrapper. I would also assume this should be easy to implement in the  
> core, will look at it sometime soon.
> 
> On Wed, Oct 23, 2013 at 11:35 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> 
> > Let's imaging you have 3 ES nodes. When using NEST I can only connect to  
> > one node. So what happens when that node goes down? Isn't that a single  
> > point of failure?
> > 
> > See  
> > [http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328\_14976103](http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328_14976103)
> > 
> > 2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)
> > 
> > > What do you mean by "handle node failure"?
> > > 
> > > I find NEST a great client for .NET [GitHub - elastic/elasticsearch-net: This strongly-typed, client library enables working with Elasticsearch. It is the official client maintained and supported by Elastic.](https://github.com/Mpdreamz/NEST) -  
> > > with serialization/deserialization, Linq support and lots more
> > > 
> > > On Wed, Oct 23, 2013 at 10:46 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> > > 
> > > > Hi,
> > > > 
> > > > According to your September blog post,  
> > > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/),  
> > > > more official clients will be added "in the future".
> > > > 
> > > > Have you got any concrete plans on releasing an official .NET client?
> > > > 
> > > > And if not, are you aware of any .NET client that "play nicely with the  
> > > > cluster", ie. handle node failure and is generally cluster-aware?
> > > > 
> > > > Thanks,  
> > > > Lasse
> > > > 
> > > > --  
> > > > You received this message because you are subscribed to the Google  
> > > > Groups "elasticsearch" group.  
> > > > To unsubscribe from this group and stop receiving emails from it, send  
> > > > an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).
> > > > 
> > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > 
> > > --  
> > > You received this message because you are subscribed to a topic in the  
> > > Google Groups "elasticsearch" group.  
> > > To unsubscribe from this topic, visit  
> > > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe).  
> > > To unsubscribe from this group and all its topics, send an email to  
> > > [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).
> > > 
> > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > 
> > --  
> > You received this message because you are subscribed to the Google Groups  
> > "elasticsearch" group.  
> > To unsubscribe from this group and stop receiving emails from it, send an  
> > email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> 
> --  
> You received this message because you are subscribed to a topic in the  
> Google Groups "elasticsearch" group.  
> To unsubscribe from this topic, visit  
> [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe).  
> To unsubscribe from this group and all its topics, send an email to  
> [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Itamar\_Syn\_Hershko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/itamar_syn_hershko/32/725_2.png) [@Itamar\_Syn\_Hershko](https://discuss.elastic.co/u/Itamar_Syn_Hershko)\
**Post date:** [October 23, 2013, 8:55am UTC](https://discuss.elastic.co/t/official-net-client/14066/6 "2013-10-23T08:55:40Z")

</div>

Yes, as I said it would be nice to have this within NEST like  
Elasticsearch's TransportClient works, but as long as it isn't implemented  
it is very easy to do so I wouldn't consider it a show stopper

On Wed, Oct 23, 2013 at 11:52 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com) wrote:

> The optimal solution would be to configure the NEST client with IP  
> addresses to the nodes, and then let NEST deal with all connection tasks,  
> including removing a dead node from the connection list and re-adding it.
> 
> I know it's always a discussion about where to put this functionality, but  
> take a look at how Couchbase's clients handle this. Very easy to use, and  
> abstracts the cluster/node-awareness away from the developer.
> 
> 2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)
> 
> > It's fairly easy to implement a pool of Connection objects (or however  
> > they called, can't remember now) and switch between them. I agree having a  
> > TransportClient-like implementation where the client is able to failover to  
> > the next node in the list is nice, but as I said its fairly easy to do from  
> > a wrapper. I would also assume this should be easy to implement in the  
> > core, will look at it sometime soon.
> > 
> > On Wed, Oct 23, 2013 at 11:35 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> > 
> > > Let's imaging you have 3 ES nodes. When using NEST I can only connect to  
> > > one node. So what happens when that node goes down? Isn't that a single  
> > > point of failure?
> > > 
> > > See  
> > > [http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328\_14976103](http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328_14976103)
> > > 
> > > 2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)
> > > 
> > > > What do you mean by "handle node failure"?
> > > > 
> > > > I find NEST a great client for .NET [GitHub - elastic/elasticsearch-net: This strongly-typed, client library enables working with Elasticsearch. It is the official client maintained and supported by Elastic.](https://github.com/Mpdreamz/NEST) -  
> > > > with serialization/deserialization, Linq support and lots more
> > > > 
> > > > On Wed, Oct 23, 2013 at 10:46 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> > > > 
> > > > > Hi,
> > > > > 
> > > > > According to your September blog post,  
> > > > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/),  
> > > > > more official clients will be added "in the future".
> > > > > 
> > > > > Have you got any concrete plans on releasing an official .NET client?
> > > > > 
> > > > > And if not, are you aware of any .NET client that "play nicely with  
> > > > > the cluster", ie. handle node failure and is generally cluster-aware?
> > > > > 
> > > > > Thanks,  
> > > > > Lasse
> > > > > 
> > > > > --  
> > > > > You received this message because you are subscribed to the Google  
> > > > > Groups "elasticsearch" group.  
> > > > > To unsubscribe from this group and stop receiving emails from it, send  
> > > > > an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).
> > > > > 
> > > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > > 
> > > > --  
> > > > You received this message because you are subscribed to a topic in the  
> > > > Google Groups "elasticsearch" group.  
> > > > To unsubscribe from this topic, visit  
> > > > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe)  
> > > > .  
> > > > To unsubscribe from this group and all its topics, send an email to  
> > > > [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).
> > > > 
> > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > 
> > > --  
> > > You received this message because you are subscribed to the Google  
> > > Groups "elasticsearch" group.  
> > > To unsubscribe from this group and stop receiving emails from it, send  
> > > an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > 
> > --  
> > You received this message because you are subscribed to a topic in the  
> > Google Groups "elasticsearch" group.  
> > To unsubscribe from this topic, visit  
> > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe).  
> > To unsubscribe from this group and all its topics, send an email to  
> > [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> 
> --  
> You received this message because you are subscribed to the Google Groups  
> "elasticsearch" group.  
> To unsubscribe from this group and stop receiving emails from it, send an  
> email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![lasseschou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lasseschou/32/845_2.png) [@lasseschou](https://discuss.elastic.co/u/lasseschou)\
**Post date:** [October 23, 2013, 8:57am UTC](https://discuss.elastic.co/t/official-net-client/14066/7 "2013-10-23T08:57:02Z")

</div>

Alright, got it. You don't have any C# example of this, do you?

2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)

> Yes, as I said it would be nice to have this within NEST like  
> Elasticsearch's TransportClient works, but as long as it isn't implemented  
> it is very easy to do so I wouldn't consider it a show stopper
> 
> On Wed, Oct 23, 2013 at 11:52 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> 
> > The optimal solution would be to configure the NEST client with IP  
> > addresses to the nodes, and then let NEST deal with all connection tasks,  
> > including removing a dead node from the connection list and re-adding it.
> > 
> > I know it's always a discussion about where to put this functionality,  
> > but take a look at how Couchbase's clients handle this. Very easy to use,  
> > and abstracts the cluster/node-awareness away from the developer.
> > 
> > 2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)
> > 
> > > It's fairly easy to implement a pool of Connection objects (or however  
> > > they called, can't remember now) and switch between them. I agree having a  
> > > TransportClient-like implementation where the client is able to failover to  
> > > the next node in the list is nice, but as I said its fairly easy to do from  
> > > a wrapper. I would also assume this should be easy to implement in the  
> > > core, will look at it sometime soon.
> > > 
> > > On Wed, Oct 23, 2013 at 11:35 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> > > 
> > > > Let's imaging you have 3 ES nodes. When using NEST I can only connect  
> > > > to one node. So what happens when that node goes down? Isn't that a single  
> > > > point of failure?
> > > > 
> > > > See  
> > > > [http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328\_14976103](http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328_14976103)
> > > > 
> > > > 2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)
> > > > 
> > > > > What do you mean by "handle node failure"?
> > > > > 
> > > > > I find NEST a great client for .NET [GitHub - elastic/elasticsearch-net: This strongly-typed, client library enables working with Elasticsearch. It is the official client maintained and supported by Elastic.](https://github.com/Mpdreamz/NEST) -  
> > > > > with serialization/deserialization, Linq support and lots more
> > > > > 
> > > > > On Wed, Oct 23, 2013 at 10:46 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> > > > > 
> > > > > > Hi,
> > > > > > 
> > > > > > According to your September blog post,  
> > > > > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/),  
> > > > > > more official clients will be added "in the future".
> > > > > > 
> > > > > > Have you got any concrete plans on releasing an official .NET client?
> > > > > > 
> > > > > > And if not, are you aware of any .NET client that "play nicely with  
> > > > > > the cluster", ie. handle node failure and is generally cluster-aware?
> > > > > > 
> > > > > > Thanks,  
> > > > > > Lasse
> > > > > > 
> > > > > > --  
> > > > > > You received this message because you are subscribed to the Google  
> > > > > > Groups "elasticsearch" group.  
> > > > > > To unsubscribe from this group and stop receiving emails from it,  
> > > > > > send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).
> > > > > > 
> > > > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > > > 
> > > > > --  
> > > > > You received this message because you are subscribed to a topic in the  
> > > > > Google Groups "elasticsearch" group.  
> > > > > To unsubscribe from this topic, visit  
> > > > > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe)  
> > > > > .  
> > > > > To unsubscribe from this group and all its topics, send an email to  
> > > > > [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).
> > > > > 
> > > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > > 
> > > > --  
> > > > You received this message because you are subscribed to the Google  
> > > > Groups "elasticsearch" group.  
> > > > To unsubscribe from this group and stop receiving emails from it, send  
> > > > an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > 
> > > --  
> > > You received this message because you are subscribed to a topic in the  
> > > Google Groups "elasticsearch" group.  
> > > To unsubscribe from this topic, visit  
> > > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe).  
> > > To unsubscribe from this group and all its topics, send an email to  
> > > [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > 
> > --  
> > You received this message because you are subscribed to the Google Groups  
> > "elasticsearch" group.  
> > To unsubscribe from this group and stop receiving emails from it, send an  
> > email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> 
> --  
> You received this message because you are subscribed to a topic in the  
> Google Groups "elasticsearch" group.  
> To unsubscribe from this topic, visit  
> [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe).  
> To unsubscribe from this group and all its topics, send an email to  
> [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Itamar\_Syn\_Hershko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/itamar_syn_hershko/32/725_2.png) [@Itamar\_Syn\_Hershko](https://discuss.elastic.co/u/Itamar_Syn_Hershko)\
**Post date:** [October 23, 2013, 8:58am UTC](https://discuss.elastic.co/t/official-net-client/14066/8 "2013-10-23T08:58:35Z")

</div>

No, but I will definitely look at sending a PR of this upstream, seems like  
a nice exercise

On Wed, Oct 23, 2013 at 11:57 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com) wrote:

> Alright, got it. You don't have any C# example of this, do you?
> 
> 2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)
> 
> > Yes, as I said it would be nice to have this within NEST like  
> > Elasticsearch's TransportClient works, but as long as it isn't implemented  
> > it is very easy to do so I wouldn't consider it a show stopper
> > 
> > On Wed, Oct 23, 2013 at 11:52 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> > 
> > > The optimal solution would be to configure the NEST client with IP  
> > > addresses to the nodes, and then let NEST deal with all connection tasks,  
> > > including removing a dead node from the connection list and re-adding it.
> > > 
> > > I know it's always a discussion about where to put this functionality,  
> > > but take a look at how Couchbase's clients handle this. Very easy to use,  
> > > and abstracts the cluster/node-awareness away from the developer.
> > > 
> > > 2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)
> > > 
> > > > It's fairly easy to implement a pool of Connection objects (or however  
> > > > they called, can't remember now) and switch between them. I agree having a  
> > > > TransportClient-like implementation where the client is able to failover to  
> > > > the next node in the list is nice, but as I said its fairly easy to do from  
> > > > a wrapper. I would also assume this should be easy to implement in the  
> > > > core, will look at it sometime soon.
> > > > 
> > > > On Wed, Oct 23, 2013 at 11:35 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> > > > 
> > > > > Let's imaging you have 3 ES nodes. When using NEST I can only connect  
> > > > > to one node. So what happens when that node goes down? Isn't that a single  
> > > > > point of failure?
> > > > > 
> > > > > See  
> > > > > [http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328\_14976103](http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328_14976103)
> > > > > 
> > > > > 2013/10/23 Itamar Syn-Hershko [itamar@code972.com](mailto:itamar@code972.com)
> > > > > 
> > > > > > What do you mean by "handle node failure"?
> > > > > > 
> > > > > > I find NEST a great client for .NET [GitHub - elastic/elasticsearch-net: This strongly-typed, client library enables working with Elasticsearch. It is the official client maintained and supported by Elastic.](https://github.com/Mpdreamz/NEST) -  
> > > > > > with serialization/deserialization, Linq support and lots more
> > > > > > 
> > > > > > On Wed, Oct 23, 2013 at 10:46 AM, Lasse Schou [lasseschou@gmail.com](mailto:lasseschou@gmail.com)wrote:
> > > > > > 
> > > > > > > Hi,
> > > > > > > 
> > > > > > > According to your September blog post,  
> > > > > > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/),  
> > > > > > > more official clients will be added "in the future".
> > > > > > > 
> > > > > > > Have you got any concrete plans on releasing an official .NET  
> > > > > > > client?
> > > > > > > 
> > > > > > > And if not, are you aware of any .NET client that "play nicely with  
> > > > > > > the cluster", ie. handle node failure and is generally cluster-aware?
> > > > > > > 
> > > > > > > Thanks,  
> > > > > > > Lasse
> > > > > > > 
> > > > > > > --  
> > > > > > > You received this message because you are subscribed to the Google  
> > > > > > > Groups "elasticsearch" group.  
> > > > > > > To unsubscribe from this group and stop receiving emails from it,  
> > > > > > > send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).
> > > > > > > 
> > > > > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > > > > 
> > > > > > --  
> > > > > > You received this message because you are subscribed to a topic in  
> > > > > > the Google Groups "elasticsearch" group.  
> > > > > > To unsubscribe from this topic, visit  
> > > > > > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe)  
> > > > > > .  
> > > > > > To unsubscribe from this group and all its topics, send an email to  
> > > > > > [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).
> > > > > > 
> > > > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > > > 
> > > > > --  
> > > > > You received this message because you are subscribed to the Google  
> > > > > Groups "elasticsearch" group.  
> > > > > To unsubscribe from this group and stop receiving emails from it, send  
> > > > > an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > > 
> > > > --  
> > > > You received this message because you are subscribed to a topic in the  
> > > > Google Groups "elasticsearch" group.  
> > > > To unsubscribe from this topic, visit  
> > > > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe)  
> > > > .  
> > > > To unsubscribe from this group and all its topics, send an email to  
> > > > [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > 
> > > --  
> > > You received this message because you are subscribed to the Google  
> > > Groups "elasticsearch" group.  
> > > To unsubscribe from this group and stop receiving emails from it, send  
> > > an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > 
> > --  
> > You received this message because you are subscribed to a topic in the  
> > Google Groups "elasticsearch" group.  
> > To unsubscribe from this topic, visit  
> > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe).  
> > To unsubscribe from this group and all its topics, send an email to  
> > [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> 
> --  
> You received this message because you are subscribed to the Google Groups  
> "elasticsearch" group.  
> To unsubscribe from this group and stop receiving emails from it, send an  
> email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Martijn\_Laarman\_2](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/martijn_laarman_2/32/2033_2.png) [@Martijn\_Laarman\_2](https://discuss.elastic.co/u/Martijn_Laarman_2)\
**Post date:** [October 24, 2013, 7:26am UTC](https://discuss.elastic.co/t/official-net-client/14066/9 "2013-10-24T07:26:00Z")

</div>

Hi Lasse,

I have put off writing baked in support for this because there are just so  
many different approaches to this and writing your own wrapper that handles  
your situation best is not that much work as Itamor pointed out.

See also: [http://stackoverflow.com/a/14976103/47020](http://stackoverflow.com/a/14976103/47020)

A lot of people also have hardware based loadbalancers in front of  
elasticsearch.

However, wether or not NEST will or won't be the official .NET client I do  
plan to fully adhere to client spec  
([https://github.com/elasticsearch/elasticsearch-rest-api-spec](https://github.com/elasticsearch/elasticsearch-rest-api-spec)) which should  
be released soon:

see:  
[https://github.com/Mpdreamz/NEST/tree/feature/official-raw-client/src/ScriptCs.Generate.RawClient](https://github.com/Mpdreamz/NEST/tree/feature/official-raw-client/src/ScriptCs.Generate.RawClient)

after that my hands are itching to write a `Nest.ConnectionFactory` (if you  
have a better name please let me know!) nuget package that you can use to  
spawn clients of a pool, thoughts, ideas, code are all very much  
appreciated.

For the time being I've created a working item for this here:

> <https://github.com/elastic/elasticsearch-net/issues/365>
>
> Ideally this would be be a Factory like class that you can spawn clients of that… checks whether nodes are up based on timers and by inspecting the result of calls the spawned clients make. 
> 
> TO BE SPEC'd.
> 
> Thoughts, ideas, code all very much appreciated :+1:

On Wednesday, October 23, 2013 10:58:35 AM UTC+2, Itamar Syn-Hershko wrote:

> No, but I will definitely look at sending a PR of this upstream, seems  
> like a nice exercise
> 
> On Wed, Oct 23, 2013 at 11:57 AM, Lasse Schou \<[lasse...@gmail.com](mailto:lasse...@gmail.com)\<javascript:\>
> 
> > wrote:
> 
> > Alright, got it. You don't have any C# example of this, do you?
> > 
> > 2013/10/23 Itamar Syn-Hershko \<[ita...@code972.com](mailto:ita...@code972.com) \<javascript:\>\>
> > 
> > > Yes, as I said it would be nice to have this within NEST like  
> > > Elasticsearch's TransportClient works, but as long as it isn't implemented  
> > > it is very easy to do so I wouldn't consider it a show stopper
> > > 
> > > On Wed, Oct 23, 2013 at 11:52 AM, Lasse Schou \<[lasse...@gmail.com](mailto:lasse...@gmail.com)\<javascript:\>
> > > 
> > > > wrote:
> > > 
> > > > The optimal solution would be to configure the NEST client with IP  
> > > > addresses to the nodes, and then let NEST deal with all connection tasks,  
> > > > including removing a dead node from the connection list and re-adding it.
> > > > 
> > > > I know it's always a discussion about where to put this functionality,  
> > > > but take a look at how Couchbase's clients handle this. Very easy to use,  
> > > > and abstracts the cluster/node-awareness away from the developer.
> > > > 
> > > > 2013/10/23 Itamar Syn-Hershko \<[ita...@code972.com](mailto:ita...@code972.com) \<javascript:\>\>
> > > > 
> > > > > It's fairly easy to implement a pool of Connection objects (or however  
> > > > > they called, can't remember now) and switch between them. I agree having a  
> > > > > TransportClient-like implementation where the client is able to failover to  
> > > > > the next node in the list is nice, but as I said its fairly easy to do from  
> > > > > a wrapper. I would also assume this should be easy to implement in the  
> > > > > core, will look at it sometime soon.
> > > > > 
> > > > > On Wed, Oct 23, 2013 at 11:35 AM, Lasse Schou \<[lasse...@gmail.com](mailto:lasse...@gmail.com)\<javascript:\>
> > > > > 
> > > > > > wrote:
> > > > > 
> > > > > > Let's imaging you have 3 ES nodes. When using NEST I can only connect  
> > > > > > to one node. So what happens when that node goes down? Isn't that a single  
> > > > > > point of failure?
> > > > > > 
> > > > > > See  
> > > > > > [http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328\_14976103](http://stackoverflow.com/questions/14962690/how-to-work-with-an-elasticsearch-cluster-and-nest/14976103#comment28956328_14976103)
> > > > > > 
> > > > > > 2013/10/23 Itamar Syn-Hershko \<[ita...@code972.com](mailto:ita...@code972.com) \<javascript:\>\>
> > > > > > 
> > > > > > > What do you mean by "handle node failure"?
> > > > > > > 
> > > > > > > I find NEST a great client for .NET [GitHub - elastic/elasticsearch-net: This strongly-typed, client library enables working with Elasticsearch. It is the official client maintained and supported by Elastic.](https://github.com/Mpdreamz/NEST) -  
> > > > > > > with serialization/deserialization, Linq support and lots more
> > > > > > > 
> > > > > > > On Wed, Oct 23, 2013 at 10:46 AM, Lasse Schou \<[lasse...@gmail.com](mailto:lasse...@gmail.com)\<javascript:\>
> > > > > > > 
> > > > > > > > wrote:
> > > > > > > 
> > > > > > > > Hi,
> > > > > > > > 
> > > > > > > > According to your September blog post,  
> > > > > > > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/),  
> > > > > > > > more official clients will be added "in the future".
> > > > > > > > 
> > > > > > > > Have you got any concrete plans on releasing an official .NET  
> > > > > > > > client?
> > > > > > > > 
> > > > > > > > And if not, are you aware of any .NET client that "play nicely with  
> > > > > > > > the cluster", ie. handle node failure and is generally cluster-aware?
> > > > > > > > 
> > > > > > > > Thanks,  
> > > > > > > > Lasse
> > > > > > > > 
> > > > > > > > --  
> > > > > > > > You received this message because you are subscribed to the Google  
> > > > > > > > Groups "elasticsearch" group.  
> > > > > > > > To unsubscribe from this group and stop receiving emails from it,  
> > > > > > > > send an email to [elasticsearc...@googlegroups.com](mailto:elasticsearc...@googlegroups.com) \<javascript:\>.
> > > > > > > > 
> > > > > > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > > > > > 
> > > > > > > --  
> > > > > > > You received this message because you are subscribed to a topic in  
> > > > > > > the Google Groups "elasticsearch" group.  
> > > > > > > To unsubscribe from this topic, visit  
> > > > > > > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe)  
> > > > > > > .  
> > > > > > > To unsubscribe from this group and all its topics, send an email to  
> > > > > > > [elasticsearc...@googlegroups.com](mailto:elasticsearc...@googlegroups.com) \<javascript:\>.
> > > > > > > 
> > > > > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > > > > 
> > > > > > --  
> > > > > > You received this message because you are subscribed to the Google  
> > > > > > Groups "elasticsearch" group.  
> > > > > > To unsubscribe from this group and stop receiving emails from it,  
> > > > > > send an email to [elasticsearc...@googlegroups.com](mailto:elasticsearc...@googlegroups.com) \<javascript:\>.  
> > > > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > > > 
> > > > > --  
> > > > > You received this message because you are subscribed to a topic in the  
> > > > > Google Groups "elasticsearch" group.  
> > > > > To unsubscribe from this topic, visit  
> > > > > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe)  
> > > > > .  
> > > > > To unsubscribe from this group and all its topics, send an email to  
> > > > > [elasticsearc...@googlegroups.com](mailto:elasticsearc...@googlegroups.com) \<javascript:\>.  
> > > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > > 
> > > > --  
> > > > You received this message because you are subscribed to the Google  
> > > > Groups "elasticsearch" group.  
> > > > To unsubscribe from this group and stop receiving emails from it, send  
> > > > an email to [elasticsearc...@googlegroups.com](mailto:elasticsearc...@googlegroups.com) \<javascript:\>.  
> > > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > > 
> > > --  
> > > You received this message because you are subscribed to a topic in the  
> > > Google Groups "elasticsearch" group.  
> > > To unsubscribe from this topic, visit  
> > > [https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe](https://groups.google.com/d/topic/elasticsearch/JZfime-cgT8/unsubscribe).  
> > > To unsubscribe from this group and all its topics, send an email to  
> > > [elasticsearc...@googlegroups.com](mailto:elasticsearc...@googlegroups.com) \<javascript:\>.  
> > > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > 
> > --  
> > You received this message because you are subscribed to the Google Groups  
> > "elasticsearch" group.  
> > To unsubscribe from this group and stop receiving emails from it, send an  
> > email to [elasticsearc...@googlegroups.com](mailto:elasticsearc...@googlegroups.com) \<javascript:\>.  
> > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![joe\_castle](https://avatars.discourse-cdn.com/v4/letter/j/977dab/32.png) [@joe\_castle](https://discuss.elastic.co/u/joe_castle)\
**Post date:** [October 24, 2013, 10:58am UTC](https://discuss.elastic.co/t/official-net-client/14066/10 "2013-10-24T10:58:38Z")

</div>

I still think that it would be nice to get an answer if there will be an  
official .NET client. It has nothing to do with NEST being good or not  
(it's not that all python clients were bad so they had to make an official  
one).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![cdhall](https://avatars.discourse-cdn.com/v4/letter/c/3d9bf3/32.png) [@cdhall](https://discuss.elastic.co/u/cdhall)\
**Post date:** [October 24, 2013, 2:47pm UTC](https://discuss.elastic.co/t/official-net-client/14066/11 "2013-10-24T14:47:20Z")

</div>

Yes, there will be an official client for .NET.

Our decision to create our own clients was mostly about consistency for our  
users. To do that we created a set of low-level clients that map very  
closely to the REST api. We made sure (and are continuously doing so) that  
these clients implement all the API endpoints as well as all parameters and  
to the right thing.

We tried our best to avoid any design decisions in those clients to make  
sure everybody could use them, even if it means creating their own  
abstraction on top of it. The overhead of the clients are so small and  
their design flexible enough (we hope) that all the other clients can live  
on top of these.

"the intention is to provide a solid base which can be used by other  
implementors if they want to add specializations. we take care of the hard  
stuff like node failover, while sticking very close to the standard ES REST  
API". things like LINQ would be out of scope for this client, but eg the  
NEST client could be implemented on top of the official .net client to  
provide linq support while taking advantage of the networking improvments

I hope that answers your first question. For more information Honza Krai  
will be doing a webinar about this - why we chose to do the clients, what  
drove the design decisions we took. It should take place next week sometime.

On Thursday, October 24, 2013 5:58:38 AM UTC-5, joe castle wrote:

> I still think that it would be nice to get an answer if there will be an  
> official .NET client. It has nothing to do with NEST being good or not  
> (it's not that all python clients were bad so they had to make an official  
> one).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Loic\_Wenkin](https://avatars.discourse-cdn.com/v4/letter/l/4491bb/32.png) [@Loic\_Wenkin](https://discuss.elastic.co/u/Loic_Wenkin)\
**Post date:** [February 24, 2014, 11:08am UTC](https://discuss.elastic.co/t/official-net-client/14066/12 "2014-02-24T11:08:30Z")

</div>

Hi,

I would like to know if a release date of a first .NET client is already  
planned, and if it's the case, when is it ?

Thanks for your replies.

Loïc

Le jeudi 24 octobre 2013 16:47:20 UTC+2, cdhall a écrit :

> Yes, there will be an official client for .NET.
> 
> Our decision to create our own clients was mostly about consistency for  
> our users. To do that we created a set of low-level clients that map very  
> closely to the REST api. We made sure (and are continuously doing so) that  
> these clients implement all the API endpoints as well as all parameters and  
> to the right thing.
> 
> We tried our best to avoid any design decisions in those clients to make  
> sure everybody could use them, even if it means creating their own  
> abstraction on top of it. The overhead of the clients are so small and  
> their design flexible enough (we hope) that all the other clients can live  
> on top of these.
> 
> "the intention is to provide a solid base which can be used by other  
> implementors if they want to add specializations. we take care of the hard  
> stuff like node failover, while sticking very close to the standard ES REST  
> API". things like LINQ would be out of scope for this client, but eg the  
> NEST client could be implemented on top of the official .net client to  
> provide linq support while taking advantage of the networking improvments
> 
> I hope that answers your first question. For more information Honza Krai  
> will be doing a webinar about this - why we chose to do the clients, what  
> drove the design decisions we took. It should take place next week sometime.
> 
> On Thursday, October 24, 2013 5:58:38 AM UTC-5, joe castle wrote:
> 
> > I still think that it would be nice to get an answer if there will be an  
> > official .NET client. It has nothing to do with NEST being good or not  
> > (it's not that all python clients were bad so they had to make an official  
> > one).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/993b7185-133b-4029-b5cc-0b1a67ff21d6%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/993b7185-133b-4029-b5cc-0b1a67ff21d6%40googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:47am UTC](https://discuss.elastic.co/t/official-net-client/14066/13 "2017-07-06T01:47:52Z")

</div>


