This release should fix some of the performance problems that were introduced in 0.11.6.0.
I'd like to take this space to send many thanks to Red Gate and their opensource support programs which allowed me to obtain an OSS license to ANTS Performance and Memory profiler which were very helpful getting this release ready. If you are doing opensource do checkout ossperks.com to see what you are missing out on. Red Gate has for a long time already generously supplied me with a resharper license. Thank you Red Gate 👍
RawClient
This is now generated from the official low level client specification:
https://github.com/elasticsearch/elasticsearch-rest-api-spec
This allows you to go very low level with Elasticsearch if needs must:
post strings:
var jsonAsString = "{ \"json_as_a_string\" : true}";
var result = this._client.Raw.BulkPost(jsonAsString, qs => qs
.Replication(ReplicationOptions.Async)
.Refresh(true)
);
StringAssert.EndsWith(":9200/_bulk?replication=async&refresh=true", result.RequestUrl);
Assert.AreEqual(jsonAsString, result.Request);
or anonymous C# objects:
var jsonAsString = "{\r\n \"json_as_a_string\": true\r\n}";
var result = this._client.Raw.BulkPost(
new { json_as_a_string = true }
, qs => qs
.Replication(ReplicationOptions.Async)
.Refresh(true)
);
This is just a small sampling check the IRawElasticClient for all the methods it exposes:
https://github.com/Mpdreamz/NEST/blob/master/src/Nest/IRawElasticClient.Generated.cs
Oh and each method has an Async variant!
To be fully low-level client compliant NEST will have to offer some sort of baked in failover support which is high on the backlog for the next release.
Separate signed packages.
For all of you who have enterprise mandates that stipulate only signed assemblies may be used NEST now also has two separate signed packages up on nuget.org for you to use.
http://www.nuget.org/packages/NEST.Signed/
http://www.nuget.org/packages/Nest.Connection.Thrift.Signed/
of course http://www.nuget.org/packages/NEST/ and http://www.nuget.org/packages/Nest.Connection.Thrift/ are also still available.
No more factory dsl nuget pacakge.
The factory dsl was a port of the Java DSL generously donated by @stephenpope, however neither he nor I have had the time to maintain it and NEST itself comes with a great Query DSL already.
For the sake of maintainability and simplicity I've decided to remove support for this package completely.
Bug fixes
- Some overloads of Alias were not generating the correct JSON.
- Correction of the the unit option for the GeoDistance filter (changed from 'distance_unit' to 'unit') TY @gmarz!
- fix #372 if you specify default indices for types to routine that determines won't unnecessarily check and throw and exception if the DefaultIndex is empty.
Please send any bugs/issues/questions to the github issues page!
For those who want the nitty gritty update check the commits starting from the previous release:
0.11.5.0...0.11.7.0