Strongly typed Elasticsearch client
NEST aims to be a .net client with a very concise API.
Indexing is as simple as:
var post = new Post() { Id = 12, ... }
var result = client.Index(post);
Indexing asynchronously is as easy as:
//t is a Task<ConnectionStatus>
var t = client.IndexAsync(post);
Searching is fluid:
var results = this.ConnectedClient.Search<ElasticSearchProject>(s => s
.From(0)
.Size(10)
.Fields(f => f.Id, f => f.Name)
.SortAscending(f => f.LOC)
.SortDescending(f => f.Name)
.Query(q=>q.Term(f=>f.Name, "NEST", Boost: 2.0))
);
additionally @joelabrahamson wrote a great intro into elasticsearch on .NET using NEST.
Copyright (c) 2010 Martijn Laarman and everyone wonderful enough to contribute to NEST
A special shoutout to @stephenpope for allowing his port of the java factory based dsl Rubber to be merged into NEST. NEST now has two types of query dsl's (lambda and factory based)!
Some of the other wonderful features in NEST were pushed by these wonderful folks:
NEST is licensed under MIT. Refer to license.txt for more information.