diff --git a/build/Elasticsearch.Net.nuspec b/build/Elasticsearch.Net.nuspec
index e7b6d8922b4..36f99f73647 100644
--- a/build/Elasticsearch.Net.nuspec
+++ b/build/Elasticsearch.Net.nuspec
@@ -43,5 +43,6 @@
+
\ No newline at end of file
diff --git a/build/NEST.nuspec b/build/NEST.nuspec
index 126584b9801..4d0ef0c1431 100644
--- a/build/NEST.nuspec
+++ b/build/NEST.nuspec
@@ -48,5 +48,6 @@
+
\ No newline at end of file
diff --git a/docs/aggregations/bucket/geo-distance/geo-distance-aggregation-usage.asciidoc b/docs/aggregations/bucket/geo-distance/geo-distance-aggregation-usage.asciidoc
index 8be4f701c37..05470c99b6d 100644
--- a/docs/aggregations/bucket/geo-distance/geo-distance-aggregation-usage.asciidoc
+++ b/docs/aggregations/bucket/geo-distance/geo-distance-aggregation-usage.asciidoc
@@ -43,11 +43,11 @@ new SearchRequest
{
Field = Field((Project p) => p.Location),
Origin = "52.376, 4.894",
- Ranges = new List
+ Ranges = new List
{
- new Nest.Range { To = 100 },
- new Nest.Range { From = 100, To = 300 },
- new Nest.Range { From = 300 }
+ new AggregationRange { To = 100 },
+ new AggregationRange { From = 100, To = 300 },
+ new AggregationRange { From = 300 }
}
}
}
diff --git a/docs/aggregations/bucket/range/range-aggregation-usage.asciidoc b/docs/aggregations/bucket/range/range-aggregation-usage.asciidoc
index ebff04d33eb..3a9c1825a8a 100644
--- a/docs/aggregations/bucket/range/range-aggregation-usage.asciidoc
+++ b/docs/aggregations/bucket/range/range-aggregation-usage.asciidoc
@@ -41,11 +41,11 @@ new SearchRequest
Aggregations = new RangeAggregation("commit_ranges")
{
Field = Field(p => p.NumberOfCommits),
- Ranges = new List
+ Ranges = new List
{
- { new Nest.Range { To = 100 } },
- { new Nest.Range { From = 100, To = 500 } },
- { new Nest.Range { From = 500 } }
+ { new AggregationRange { To = 100 } },
+ { new AggregationRange { From = 100, To = 500 } },
+ { new AggregationRange { From = 500 } }
}
}
}
diff --git a/docs/aggregations/bucket/terms/terms-aggregation-usage.asciidoc b/docs/aggregations/bucket/terms/terms-aggregation-usage.asciidoc
index 72616eff135..6745bb01fd3 100644
--- a/docs/aggregations/bucket/terms/terms-aggregation-usage.asciidoc
+++ b/docs/aggregations/bucket/terms/terms-aggregation-usage.asciidoc
@@ -132,8 +132,9 @@ states.Meta["foo"].Should().Be("bar");
s => s
.Size(0)
.Aggregations(a => a
- .Terms("commits", st => st
+ .Terms("commits", st => st
.Field(p => p.NumberOfCommits)
+ .Missing(-1)
)
)
----
@@ -145,9 +146,10 @@ s => s
new SearchRequest
{
Size = 0,
- Aggregations = new TermsAggregation("commits")
+ Aggregations = new TermsAggregation("commits")
{
Field = Infer.Field(p => p.NumberOfCommits),
+ Missing = -1
}
}
----
@@ -160,7 +162,8 @@ new SearchRequest
"aggs": {
"commits": {
"terms": {
- "field": "numberOfCommits"
+ "field": "numberOfCommits",
+ "missing": -1
}
}
}
diff --git a/docs/common-options/time-unit/time-units.asciidoc b/docs/common-options/time-unit/time-units.asciidoc
index 554208e3366..b2ef21fecb0 100644
--- a/docs/common-options/time-unit/time-units.asciidoc
+++ b/docs/common-options/time-unit/time-units.asciidoc
@@ -134,6 +134,20 @@ twoDays.Should().BeLessThan(twoWeeks);
(twoDays <= new Time("2d")).Should().BeTrue();
----
+Special Time values `0` and `-1` can be compared against eachother
+and other Time values although admittingly this is a tad nonsensical.
+
+[source,csharp]
+----
+Time.MinusOne.Should().BeLessThan(Time.Zero);
+
+Time.Zero.Should().BeGreaterThan(Time.MinusOne);
+
+Time.Zero.Should().BeLessThan(twoDays);
+
+Time.MinusOne.Should().BeLessThan(twoDays);
+----
+
And assert equality
[source,csharp]
@@ -146,9 +160,73 @@ twoDays.Should().Be(new Time("2d"));
(new Time("2.1d") == new Time(TimeSpan.FromDays(2.1))).Should().BeTrue();
-(new Time("1") == new Time(1)).Should().BeTrue();
+(new Time("-1") == new Time(-1)).Should().BeFalse();
+
+(new Time("-1") == Time.MinusOne).Should().BeTrue();
+----
+
+[source,csharp]
+----
+private class StringParsingTestCases : List>
+{
+ public void Add(string original, TimeSpan expect, string toString) =>
+ this.Add(Tuple.Create(original, expect, toString));
+
+ public void Add(string bad, string argumentExceptionContains) =>
+ this.Add(Tuple.Create(bad, TimeSpan.FromDays(1), argumentExceptionContains));
+}
+----
+
+[source,csharp]
+----
+var testCases = new StringParsingTestCases
+{
+ { "1000 nanos", new TimeSpan(10) , "1000nanos"},
+ { "1000nanos", new TimeSpan(10), "1000nanos"},
+ { "1000 NANOS", new TimeSpan(10), "1000nanos" },
+ { "1000NANOS", new TimeSpan(10), "1000nanos" },
+ { "10micros", new TimeSpan(100), "10micros" },
+ { "10 MS", new TimeSpan(0, 0, 0, 0, 10), "10ms" },
+ { "10ms", new TimeSpan(0, 0, 0, 0, 10), "10ms" },
+ { "10 ms", new TimeSpan(0, 0, 0, 0, 10), "10ms" },
+ { "10s", new TimeSpan(0, 0, 10), "10s" },
+ { "-10s", new TimeSpan(0, 0, -10), "-10s" },
+ { "-10S", new TimeSpan(0, 0, -10), "-10s" },
+ { "10m", new TimeSpan(0, 10, 0) , "10m"},
+ { "10M", new TimeSpan(300, 0, 0, 0), "10M" }, // 300 days not minutes
+ { "10h", new TimeSpan(10, 0, 0), "10h" },
+ { "10H", new TimeSpan(10, 0, 0) , "10h"},
+ { "10d", new TimeSpan(10, 0, 0, 0) , "10d"},
+};
+----
+
+[source,csharp]
+----
+foreach (var testCase in testCases)
+{
+ var time = new Time(testCase.Item1);
+ time.ToTimeSpan().Should().Be(testCase.Item2, "we passed in {0}", testCase.Item1);
+ time.ToString().Should().Be(testCase.Item3);
+}
+----
+
+[source,csharp]
+----
+var testCases = new StringParsingTestCases
+{
+ { "1000", "missing an interval"},
+ { "1000x", "string is invalid"},
+};
+----
-(new Time("-1") == new Time(-1)).Should().BeTrue();
+[source,csharp]
+----
+foreach (var testCase in testCases)
+{
+ Action create = () => new Time(testCase.Item1);
+ var e = create.Invoking((a) => a()).ShouldThrow(testCase.Item1).Subject.First();
+ e.Message.Should().Contain(testCase.Item3);
+}
----
=== Units of Time
diff --git a/docs/mapping/scalar/scalar-usage.asciidoc b/docs/mapping/scalar/scalar-usage.asciidoc
index deb4183eb60..d76fb6f2f59 100644
--- a/docs/mapping/scalar/scalar-usage.asciidoc
+++ b/docs/mapping/scalar/scalar-usage.asciidoc
@@ -103,6 +103,12 @@ public class ScalarPoco
public IEnumerable Strings { get; set; }
public ScalarEnum Enum { get; set; }
+
+ public DateRange DateRange { get; set; }
+ public DoubleRange DoubleRange { get; set; }
+ public IntegerRange IntegerRange { get; set; }
+ public FloatRange FloatRange { get; set; }
+ public LongRange LongRange { get; set; }
}
----
@@ -179,6 +185,11 @@ f => f
.Scalar(p => p.String, m => m)
.Scalar(p => p.Strings, m => m)
.Scalar(p => p.Enum, m => m)
+ .Scalar(p => p.DateRange, m => m)
+ .Scalar(p => p.IntegerRange, m => m)
+ .Scalar(p => p.FloatRange, m => m)
+ .Scalar(p => p.LongRange, m => m)
+ .Scalar(p => p.DoubleRange, m => m)
)
----
@@ -394,6 +405,21 @@ null
},
"enum": {
"type": "integer"
+ },
+ "dateRange": {
+ "type": "date_range"
+ },
+ "integerRange": {
+ "type": "integer_range"
+ },
+ "doubleRange": {
+ "type": "double_range"
+ },
+ "longRange": {
+ "type": "long_range"
+ },
+ "floatRange": {
+ "type": "float_range"
}
}
}
diff --git a/docs/query-dsl/term-level/range/numeric-range-query-usage.asciidoc b/docs/query-dsl/term-level/range/numeric-range-query-usage.asciidoc
index 45e27ff0752..cabe94f7cf4 100644
--- a/docs/query-dsl/term-level/range/numeric-range-query-usage.asciidoc
+++ b/docs/query-dsl/term-level/range/numeric-range-query-usage.asciidoc
@@ -28,6 +28,7 @@ q
.GreaterThanOrEquals(1.1)
.LessThan(2.1)
.LessThanOrEquals(2.0)
+ .Relation(RangeRelation.Within)
)
----
@@ -43,7 +44,8 @@ new NumericRangeQuery
GreaterThan = 1.0,
GreaterThanOrEqualTo = 1.1,
LessThan = 2.1,
- LessThanOrEqualTo = 2.0
+ LessThanOrEqualTo = 2.0,
+ Relation = RangeRelation.Within
}
----
@@ -58,7 +60,8 @@ new NumericRangeQuery
"gt": 1.0,
"gte": 1.1,
"lt": 2.1,
- "lte": 2.0
+ "lte": 2.0,
+ "relation": "within"
}
}
}
diff --git a/src/Elasticsearch.Net/project.json b/src/Elasticsearch.Net/project.json
index e9aeb61563e..38f9a1955f4 100644
--- a/src/Elasticsearch.Net/project.json
+++ b/src/Elasticsearch.Net/project.json
@@ -29,7 +29,9 @@
},
"copyright": "2014-2016 Elasticsearch BV",
"buildOptions": {
- "warningsAsErrors": false
+ "warningsAsErrors": false,
+ "xmlDocs":true,
+ "nowarn": ["CS1591", "1591", "1573"]
},
"configurations": {
"Debug": {
diff --git a/src/Nest/Analysis/Analyzers/LanguageAnalyzer.cs b/src/Nest/Analysis/Analyzers/LanguageAnalyzer.cs
index 0e1323e00a2..0d6d5b9a157 100644
--- a/src/Nest/Analysis/Analyzers/LanguageAnalyzer.cs
+++ b/src/Nest/Analysis/Analyzers/LanguageAnalyzer.cs
@@ -44,8 +44,8 @@ public override string Type
///
public IEnumerable StemExclusionList { get; set; }
- [JsonIgnore]
///
+ [JsonIgnore]
public Language? Language {
get { return _type.ToEnum(); }
set { _type = value.GetStringValue().ToLowerInvariant(); }
diff --git a/src/Nest/Analysis/Plugins/Icu/Collation/IcuCollationStrength.cs b/src/Nest/Analysis/Plugins/Icu/Collation/IcuCollationStrength.cs
index 8615f06d5bd..bd1139c11dc 100644
--- a/src/Nest/Analysis/Plugins/Icu/Collation/IcuCollationStrength.cs
+++ b/src/Nest/Analysis/Plugins/Icu/Collation/IcuCollationStrength.cs
@@ -13,13 +13,13 @@ namespace Nest
public enum IcuCollationStrength
{
///
- /// Typically, this is used to denote differences between base characters (for example, "a" < "b").
+ /// Typically, this is used to denote differences between base characters (for example, "a" < "b").
/// It is the strongest difference. For example, dictionaries are divided into different sections by
/// base character.
///
[EnumMember(Value="primary")] Primary,
///
- /// Accents in the characters are considered secondary differences (for example, "as" < "às" < "at").
+ /// Accents in the characters are considered secondary differences (for example, "as" < "às" < "at").
/// Other differences between letters can also be considered secondary differences, depending on
/// the language. A secondary difference is ignored when there is a primary difference anywhere
/// in the strings.
@@ -27,7 +27,7 @@ public enum IcuCollationStrength
[EnumMember(Value="secondary")] Secondary,
///
/// Upper and lower case differences in characters are distinguished at tertiary strength
- /// (for example, "ao" < "Ao" < "aò"). In addition, a variant of a letter differs from the base
+ /// (for example, "ao" < "Ao" < "aò"). In addition, a variant of a letter differs from the base
/// form on the tertiary strength (such as "A" and "Ⓐ"). Another example is the difference between
/// large and small Kana. A tertiary difference is ignored when there is a primary or secondary
/// difference anywhere in the strings.
@@ -36,7 +36,7 @@ public enum IcuCollationStrength
///
/// When punctuation is ignored (see Ignoring Punctuations in the User Guide) at PRIMARY to
/// TERTIARY strength, an additional strength level can be used to distinguish words with
- /// and without punctuation (for example, "ab" < "a-b" < "aB"). This difference is ignored
+ /// and without punctuation (for example, "ab" < "a-b" < "aB"). This difference is ignored
/// when there is a PRIMARY, SECONDARY or TERTIARY difference. The QUATERNARY strength should
/// only be used if ignoring punctuation is required.
///
diff --git a/src/Nest/Document/Multiple/Bulk/BulkOperation/BulkUpdate.cs b/src/Nest/Document/Multiple/Bulk/BulkOperation/BulkUpdate.cs
index 17002817020..eb6dddc10cd 100644
--- a/src/Nest/Document/Multiple/Bulk/BulkOperation/BulkUpdate.cs
+++ b/src/Nest/Document/Multiple/Bulk/BulkOperation/BulkUpdate.cs
@@ -9,7 +9,7 @@ public interface IBulkUpdateOperation : IBulkOperat
where TPartialDocument : class
{
///
- /// Infers the id of the object to update from the provided object.
+ /// Infers the id of the object to update from the provided object.
/// See to apply a partial object merge.
///
TDocument IdFrom { get; set; }
@@ -25,8 +25,8 @@ public interface IBulkUpdateOperation : IBulkOperat
TPartialDocument Doc { get; set; }
///
- /// Instead of sending a partial doc with plus an upsert doc
- /// with , setting to true will
+ /// Instead of sending a partial doc with plus an upsert doc
+ /// with , setting to true will
/// use the contents of doc as the upsert value.
///
bool? DocAsUpsert { get; set; }
@@ -74,7 +74,7 @@ public BulkUpdateOperation(TDocument idFrom, TPartialDocument update, bool useId
protected override Type ClrType => typeof(TDocument);
- protected override Id GetIdForOperation(Inferrer inferrer) =>
+ protected override Id GetIdForOperation(Inferrer inferrer) =>
this.Id ?? new Id(new[] { this.IdFrom, this.Upsert }.FirstOrDefault(o=>o != null));
protected override object GetBody() =>
@@ -87,7 +87,7 @@ protected override object GetBody() =>
};
///
- /// Infers the id of the object to update from the provided object.
+ /// Infers the id of the object to update from the provided object.
/// See to apply a partial object merge.
///
public TDocument IdFrom { get; set; }
@@ -103,8 +103,8 @@ protected override object GetBody() =>
public TPartialDocument Doc { get; set; }
///
- /// Instead of sending a partial doc with plus an upsert doc
- /// with , setting to true will
+ /// Instead of sending a partial doc with plus an upsert doc
+ /// with , setting to true will
/// use the contents of doc as the upsert value.
///
public bool? DocAsUpsert { get; set; }
@@ -139,11 +139,11 @@ protected override object GetBulkOperationBody() =>
_DocAsUpsert = Self.DocAsUpsert
};
- protected override Id GetIdForOperation(Inferrer inferrer) =>
+ protected override Id GetIdForOperation(Inferrer inferrer) =>
Self.Id ?? new Id(new[] { Self.IdFrom, Self.Upsert }.FirstOrDefault(o=>o != null));
///
- /// Infers the id of the object to update from the provided object.
+ /// Infers the id of the object to update from the provided object.
/// See to apply a partial object merge.
///
public BulkUpdateDescriptor IdFrom(TDocument @object, bool useAsUpsert = false)
@@ -163,11 +163,11 @@ public BulkUpdateDescriptor IdFrom(TDocument @objec
public BulkUpdateDescriptor Doc(TPartialDocument @object) => Assign(a => a.Doc = @object);
///
- /// Instead of sending a partial doc with plus an upsert doc
- /// with , setting to true will
+ /// Instead of sending a partial doc with plus an upsert doc
+ /// with , setting to true will
/// use the contents of doc as the upsert value.
///
- public BulkUpdateDescriptor DocAsUpsert(bool partialDocumentAsUpsert = true) =>
+ public BulkUpdateDescriptor DocAsUpsert(bool partialDocumentAsUpsert = true) =>
Assign(a => a.DocAsUpsert = partialDocumentAsUpsert);
///
@@ -179,7 +179,7 @@ public BulkUpdateDescriptor Script(Func
/// How many times an update should be retried in the case of a version conflict.
///
- public BulkUpdateDescriptor RetriesOnConflict(int? retriesOnConflict) =>
+ public BulkUpdateDescriptor RetriesOnConflict(int? retriesOnConflict) =>
Assign(a => a.RetriesOnConflict = retriesOnConflict);
}
}
diff --git a/src/Nest/Document/Multiple/BulkAll/BulkAllRequest.cs b/src/Nest/Document/Multiple/BulkAll/BulkAllRequest.cs
index 6a4998cefd5..42768870428 100644
--- a/src/Nest/Document/Multiple/BulkAll/BulkAllRequest.cs
+++ b/src/Nest/Document/Multiple/BulkAll/BulkAllRequest.cs
@@ -190,6 +190,7 @@ public BulkAllDescriptor BackOffRetries(int? backoffs) =>
/// When set each scroll request will additionally wait on as well as
/// if set. Not that the consumer has to call
/// on the same instance every time it is done.
+ ///
/// The minimum maximum concurrency which would be the bottleneck of the producer consumer pipeline
/// The maximum amplification back pressure of the greedier part of the producer consumer pipeline
public BulkAllDescriptor BackPressure(int maxConcurrency, int? backPressureFactor = null) =>
diff --git a/src/Nest/Document/Multiple/MultiGet/Request/MultiGetOperation.cs b/src/Nest/Document/Multiple/MultiGet/Request/MultiGetOperation.cs
index f556e4be5cd..d545eddbf30 100644
--- a/src/Nest/Document/Multiple/MultiGet/Request/MultiGetOperation.cs
+++ b/src/Nest/Document/Multiple/MultiGet/Request/MultiGetOperation.cs
@@ -68,7 +68,6 @@ public MultiGetOperationDescriptor()
/// See also: https://github.com/elasticsearch/elasticsearch/issues/3636
///
///
- ///
public MultiGetOperationDescriptor(bool allowExplicitIndex)
: this()
{
diff --git a/src/Nest/Document/Multiple/Reindex/ReindexRequest.cs b/src/Nest/Document/Multiple/Reindex/ReindexRequest.cs
index 07de5e7c910..42ccd106cd7 100644
--- a/src/Nest/Document/Multiple/Reindex/ReindexRequest.cs
+++ b/src/Nest/Document/Multiple/Reindex/ReindexRequest.cs
@@ -39,7 +39,7 @@ public interface IReindexRequest
///
/// Provide a factory for the bulk all request, the first argument is the lazy collection of scroll results which is a mandatory
- /// argument to create or
+ /// argument to create or
///
/// Note that is always overriden as well as
///
diff --git a/src/Nest/Document/Multiple/ReindexOnServer/ReindexRouting.cs b/src/Nest/Document/Multiple/ReindexOnServer/ReindexRouting.cs
index 6c05aedba60..d9cb8af5ad0 100644
--- a/src/Nest/Document/Multiple/ReindexOnServer/ReindexRouting.cs
+++ b/src/Nest/Document/Multiple/ReindexOnServer/ReindexRouting.cs
@@ -11,9 +11,8 @@ public class ReindexRouting
///
/// Use ReindexRouting.Keep or ReindexRouting.Discard if you want to sent "keep" or "discard", this
- /// constructor always sends prefixed with '='
+ /// constructor always sends newRoutingValue prefixed with '='
///
- ///
public ReindexRouting(string newRoutingValue) : this(newRoutingValue, false) { }
private ReindexRouting(string newRoutingValue, bool noPrefix)
diff --git a/src/Nest/Document/Multiple/ScrollAll/ScrollAllRequest.cs b/src/Nest/Document/Multiple/ScrollAll/ScrollAllRequest.cs
index c935e58f992..473552daf62 100644
--- a/src/Nest/Document/Multiple/ScrollAll/ScrollAllRequest.cs
+++ b/src/Nest/Document/Multiple/ScrollAll/ScrollAllRequest.cs
@@ -98,12 +98,13 @@ public ScrollAllDescriptor RoutingField(Expression> objectPat
public ScrollAllDescriptor Search(Func, ISearchRequest> selector) =>
Assign(a => a.Search = selector?.Invoke(new SearchDescriptor()));
+ //TODO rename maxConsumers to maxConcurrency
///
/// Simple back pressure implementation that makes sure the minimum max concurrency between producer and consumer
/// is not amplified by the greedier of the two by more then a given back pressure factor
/// When set each bulk request will call
///
- /// The minimum maximum concurrency which would be the bottleneck of the producer consumer pipeline
+ /// The minimum maximum concurrency which would be the bottleneck of the producer consumer pipeline
/// The maximum amplification back pressure of the greedier part of the producer consumer pipeline
public ScrollAllDescriptor BackPressure(int maxConsumers, int? backPressureFactor = null) =>
Assign(a => a.BackPressure = new ProducerConsumerBackPressure(backPressureFactor, maxConsumers));
diff --git a/src/Nest/IndexModules/Similarity/DFR/DFRSimilarity.cs b/src/Nest/IndexModules/Similarity/DFR/DFRSimilarity.cs
index aa866c1c2d6..c0e29d166cf 100644
--- a/src/Nest/IndexModules/Similarity/DFR/DFRSimilarity.cs
+++ b/src/Nest/IndexModules/Similarity/DFR/DFRSimilarity.cs
@@ -4,9 +4,9 @@ namespace Nest
{
///
- /// Implements the divergence from randomness (DFR) framework introduced in Gianni Amati and Cornelis Joost Van Rijsbergen. 2002.
+ /// Implements the divergence from randomness (DFR) framework introduced in Gianni Amati and Cornelis Joost Van Rijsbergen. 2002.
/// Probabilistic models of information retrieval based on measuring the divergence from randomness. ACM Trans. Inf. Syst. 20, 4 (October 2002), 357-389.
- /// The DFR scoring formula is composed of three separate components: the basic model, the aftereffect and an additional normalization component,
+ /// The DFR scoring formula is composed of three separate components: the basic model, the aftereffect and an additional normalization component,
/// represented by the classes BasicModel, AfterEffect and Normalization, respectively.The names of these classes were chosen to match the names of their counterparts in the Terrier IR engine.
///
public interface IDFRSimilarity : ISimilarity
@@ -21,7 +21,7 @@ public interface IDFRSimilarity : ISimilarity
Normalization? Normalization { get; set; }
///
- /// Normalization model that assumes a uniform distribution of the term frequency.
+ /// Normalization model that assumes a uniform distribution of the term frequency.
///
[JsonProperty("normalization.h1.c")]
double? NormalizationH1C { get; set; }
@@ -80,7 +80,7 @@ public class DFRSimilarityDescriptor
public DFRSimilarityDescriptor NoNormalization() => Assign(a => a.Normalization = Normalization.No);
///
- /// Normalization model that assumes a uniform distribution of the term frequency.
+ /// Normalization model that assumes a uniform distribution of the term frequency.
///
/// hyper-parameter that controls the term frequency normalization with respect to the document length.
public DFRSimilarityDescriptor NormalizationH1(double? c) => Assign(a =>
@@ -112,7 +112,7 @@ public DFRSimilarityDescriptor NormalizationH3(double? mu) => Assign(a =>
///
/// Pareto-Zipf Normalization
///
- /// represents A/(A+1) where A measures the specificity of the language..
+ /// represents A/(A+1) where A measures the specificity of the language..
public DFRSimilarityDescriptor NormalizationZ(double? z) => Assign(a =>
{
a.Normalization = Normalization.Z;
@@ -120,4 +120,4 @@ public DFRSimilarityDescriptor NormalizationZ(double? z) => Assign(a =>
});
}
-}
\ No newline at end of file
+}
diff --git a/src/Nest/IndexModules/Similarity/IB/IBSimilarity.cs b/src/Nest/IndexModules/Similarity/IB/IBSimilarity.cs
index 91dbd361d7f..b321b90b904 100644
--- a/src/Nest/IndexModules/Similarity/IB/IBSimilarity.cs
+++ b/src/Nest/IndexModules/Similarity/IB/IBSimilarity.cs
@@ -15,7 +15,7 @@ public interface IIBSimilarity : ISimilarity
Normalization? Normalization { get; set; }
///
- /// Normalization model that assumes a uniform distribution of the term frequency.
+ /// Normalization model that assumes a uniform distribution of the term frequency.
///
[JsonProperty("normalization.h1.c")]
double? NormalizationH1C { get; set; }
@@ -74,7 +74,7 @@ public class IBSimilarityDescriptor
public IBSimilarityDescriptor NoNormalization() => Assign(a => a.Normalization = Normalization.No);
///
- /// Normalization model that assumes a uniform distribution of the term frequency.
+ /// Normalization model that assumes a uniform distribution of the term frequency.
///
/// hyper-parameter that controls the term frequency normalization with respect to the document length.
public IBSimilarityDescriptor NormalizationH1(double? c) => Assign(a =>
@@ -106,7 +106,7 @@ public IBSimilarityDescriptor NormalizationH3(double? mu) => Assign(a =>
///
/// Pareto-Zipf Normalization
///
- /// represents A/(A+1) where A measures the specificity of the language..
+ /// represents A/(A+1) where A measures the specificity of the language..
public IBSimilarityDescriptor NormalizationZ(double? z) => Assign(a =>
{
a.Normalization = Normalization.Z;
diff --git a/src/Nest/Indices/IndexSettings/IndexTemplates/GetIndexTemplate/ElasticClient-GetIndexTemplate.cs b/src/Nest/Indices/IndexSettings/IndexTemplates/GetIndexTemplate/ElasticClient-GetIndexTemplate.cs
index 4cad5938779..62d3054d65b 100644
--- a/src/Nest/Indices/IndexSettings/IndexTemplates/GetIndexTemplate/ElasticClient-GetIndexTemplate.cs
+++ b/src/Nest/Indices/IndexSettings/IndexTemplates/GetIndexTemplate/ElasticClient-GetIndexTemplate.cs
@@ -16,7 +16,6 @@ public partial interface IElasticClient
/// Gets an index template
/// http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-templates.html#getting
///
- /// The name of the template to get
/// An optional selector specifying additional parameters for the get template operation
IGetIndexTemplateResponse GetIndexTemplate(Func selector = null);
diff --git a/src/Nest/Ingest/Processors/JsonProcessor.cs b/src/Nest/Ingest/Processors/JsonProcessor.cs
index 131c8aa46d9..bb1ba230614 100644
--- a/src/Nest/Ingest/Processors/JsonProcessor.cs
+++ b/src/Nest/Ingest/Processors/JsonProcessor.cs
@@ -7,7 +7,7 @@ namespace Nest
{
///
/// Converts a JSON string into a structured JSON object.
- ///
+ ///
[JsonObject(MemberSerialization.OptIn)]
[JsonConverter(typeof(ProcessorJsonConverter))]
public interface IJsonProcessor : IProcessor
diff --git a/src/Nest/Modules/Cluster/AllocationAwareness/AllocationAwarenessSettings.cs b/src/Nest/Modules/Cluster/AllocationAwareness/AllocationAwarenessSettings.cs
index ab6674e56cd..d7cebc031d5 100644
--- a/src/Nest/Modules/Cluster/AllocationAwareness/AllocationAwarenessSettings.cs
+++ b/src/Nest/Modules/Cluster/AllocationAwareness/AllocationAwarenessSettings.cs
@@ -5,10 +5,10 @@ namespace Nest
{
public interface IAllocationAwarenessSettings
{
- /// Determines which node attributes are taken into account when balancing shards across the shards
+ /// Determines which node attributes are taken into account when balancing shards across the shards
IEnumerable Attributes { get; set; }
-
- /// With forced awareness shard copies are NEVER allicated within the same attribute
+
+ /// With forced awareness shard copies are NEVER allicated within the same attribute
IAllocationAttributes Forced { get; set; }
}
@@ -16,19 +16,19 @@ public class AllocationAwarenessSettings : IAllocationAwarenessSettings
{
///
public IEnumerable Attributes { get; set; }
-
+
///
public IAllocationAttributes Forced { get; set; }
}
- public class AllocationAwarenessSettingsDescriptor
+ public class AllocationAwarenessSettingsDescriptor
: DescriptorBase, IAllocationAwarenessSettings
{
///
IEnumerable IAllocationAwarenessSettings.Attributes { get; set; }
-
+
///
IAllocationAttributes IAllocationAwarenessSettings.Forced { get; set; }
@@ -42,8 +42,8 @@ public class AllocationAwarenessSettingsDescriptor
public AllocationAwarenessSettingsDescriptor Force(IAllocationAttributes forceValues) => Assign(a => a.Forced = forceValues);
///
- public AllocationAwarenessSettingsDescriptor Force(Func selector) =>
+ public AllocationAwarenessSettingsDescriptor Force(Func selector) =>
Assign(a => a.Forced = selector?.Invoke(new AllocationAttributesDescriptor()));
}
-}
\ No newline at end of file
+}
diff --git a/src/Nest/Modules/Cluster/AllocationFiltering/AllocationFilteringSettings.cs b/src/Nest/Modules/Cluster/AllocationFiltering/AllocationFilteringSettings.cs
index 03defa5b905..bbc410b447e 100644
--- a/src/Nest/Modules/Cluster/AllocationFiltering/AllocationFilteringSettings.cs
+++ b/src/Nest/Modules/Cluster/AllocationFiltering/AllocationFilteringSettings.cs
@@ -4,13 +4,13 @@ namespace Nest
{
public interface IAllocationFilteringSettings
{
- /// Assign the index to a node whose {attribute} has at least one of the comma-separated values.
+ /// Assign the index to a node whose {attribute} has at least one of the comma-separated values.
IAllocationAttributes Include { get; set; }
- /// Assign the index to a node whose {attribute} has all of the comma-separated values.
+ /// Assign the index to a node whose {attribute} has all of the comma-separated values.
IAllocationAttributes Exclude { get; set; }
- /// Assign the index to a node whose {attribute} has none of the comma-separated values.
+ /// Assign the index to a node whose {attribute} has none of the comma-separated values.
IAllocationAttributes Require { get; set; }
}
@@ -25,11 +25,11 @@ public class AllocationFilteringSettings : IAllocationFilteringSettings
///
public IAllocationAttributes Require { get; set; }
-
+
}
- public class AllocationFilteringSettingsDescriptor
+ public class AllocationFilteringSettingsDescriptor
: DescriptorBase, IAllocationFilteringSettings
{
@@ -41,26 +41,26 @@ public class AllocationFilteringSettingsDescriptor
///
IAllocationAttributes IAllocationFilteringSettings.Require { get; set; }
-
+
///
public AllocationFilteringSettingsDescriptor Include(IAllocationAttributes include) => Assign(a => a.Include = include);
///
- public AllocationFilteringSettingsDescriptor Include(Func selector) =>
+ public AllocationFilteringSettingsDescriptor Include(Func selector) =>
Assign(a => a.Include = selector?.Invoke(new AllocationAttributesDescriptor()));
///
public AllocationFilteringSettingsDescriptor Exlude(IAllocationAttributes include) => Assign(a => a.Exclude = include);
///
- public AllocationFilteringSettingsDescriptor Exclude(Func selector) =>
+ public AllocationFilteringSettingsDescriptor Exclude(Func selector) =>
Assign(a => a.Exclude = selector?.Invoke(new AllocationAttributesDescriptor()));
///
public AllocationFilteringSettingsDescriptor Require(IAllocationAttributes include) => Assign(a => a.Require = include);
///
- public AllocationFilteringSettingsDescriptor Require(Func selector) =>
+ public AllocationFilteringSettingsDescriptor Require(Func selector) =>
Assign(a => a.Require = selector?.Invoke(new AllocationAttributesDescriptor()));
}
-}
\ No newline at end of file
+}
diff --git a/src/Nest/Modules/Cluster/ClusterModuleSettings.cs b/src/Nest/Modules/Cluster/ClusterModuleSettings.cs
index 4ad77ca6967..de0c62f01ad 100644
--- a/src/Nest/Modules/Cluster/ClusterModuleSettings.cs
+++ b/src/Nest/Modules/Cluster/ClusterModuleSettings.cs
@@ -6,28 +6,28 @@ namespace Nest
/// Settings to control where, when, and how shards are allocated to nodes.
public interface IClusterModuleSettings
{
- ///
+ ///
bool? ReadOnly { get; set; }
- ///
+ ///
IDictionary Logger { get; set; }
- ///
+ ///
IAllocationAwarenessSettings AllocationAwareness { get; set; }
- ///
+ ///
IAllocationFilteringSettings AllocationFiltering { get; set; }
- ///
+ ///
IDiskBasedShardAllocationSettings DiskBasedShardAllocation { get; set; }
- ///
+ ///
IShardAllocationSettings ShardAllocation { get; set; }
- ///
+ ///
IShardBalancingHeuristicsSettings ShardBalancingHeuristics { get; set; }
- ///
+ ///
IShardRebalancingSettings ShardRebalancing { get; set; }
}
@@ -87,33 +87,33 @@ public class ClusterModuleSettingsDescriptor : DescriptorBase logger) => Assign(a => a.Logger = logger);
///
- public ClusterModuleSettingsDescriptor Logger(Func, FluentDictionary> selector) =>
+ public ClusterModuleSettingsDescriptor Logger(Func, FluentDictionary> selector) =>
Assign(a => a.Logger = selector?.Invoke(new FluentDictionary()));
///
- public ClusterModuleSettingsDescriptor AllocationAwareness(Func selector) =>
+ public ClusterModuleSettingsDescriptor AllocationAwareness(Func selector) =>
Assign(a => a.AllocationAwareness = selector?.Invoke(new AllocationAwarenessSettings()));
///
- public ClusterModuleSettingsDescriptor AllocationFiltering(Func selector) =>
+ public ClusterModuleSettingsDescriptor AllocationFiltering(Func selector) =>
Assign(a => a.AllocationFiltering = selector?.Invoke(new AllocationFilteringSettingsDescriptor()));
///
- public ClusterModuleSettingsDescriptor DiskBasedShardAllocation(Func selector) =>
+ public ClusterModuleSettingsDescriptor DiskBasedShardAllocation(Func selector) =>
Assign(a => a.DiskBasedShardAllocation = selector?.Invoke(new DiskBasedShardAllocationSettingsDescriptor()));
///
- public ClusterModuleSettingsDescriptor ShardAllocation(Func selector) =>
+ public ClusterModuleSettingsDescriptor ShardAllocation(Func selector) =>
Assign(a => a.ShardAllocation = selector?.Invoke(new ShardAllocationSettingsDescriptor()));
///
- public ClusterModuleSettingsDescriptor ShardBalancingHeuristics(Func selector) =>
+ public ClusterModuleSettingsDescriptor ShardBalancingHeuristics(Func selector) =>
Assign(a => a.ShardBalancingHeuristics = selector?.Invoke(new ShardBalancingHeuristicsSettingsDescriptor()));
///
- public ClusterModuleSettingsDescriptor ShardRebalancing(Func selector) =>
+ public ClusterModuleSettingsDescriptor ShardRebalancing(Func selector) =>
Assign(a => a.ShardRebalancing = selector?.Invoke(new ShardRebalancingSettingsDescriptor()));
}
-}
\ No newline at end of file
+}
diff --git a/src/Nest/Modules/Indices/IndicesModuleSettings.cs b/src/Nest/Modules/Indices/IndicesModuleSettings.cs
index e1322b342d5..3f9fc1381f0 100644
--- a/src/Nest/Modules/Indices/IndicesModuleSettings.cs
+++ b/src/Nest/Modules/Indices/IndicesModuleSettings.cs
@@ -5,16 +5,16 @@ namespace Nest
/// Settings to control where, when, and how shards are allocated to nodes.
public interface IIndicesModuleSettings
{
- ///
+ ///
string QeueriesCacheSize { get; set; }
- ///
+ ///
ICircuitBreakerSettings CircuitBreakerSettings { get; set; }
- ///
+ ///
FielddataSettings FielddataSettings { get; set; }
- ///
+ ///
IIndicesRecoverySettings RecoverySettings { get; set; }
}
@@ -53,15 +53,15 @@ public class IndicesModuleSettingsDescriptor : DescriptorBase
- public IndicesModuleSettingsDescriptor CircuitBreaker(Func selector) =>
+ public IndicesModuleSettingsDescriptor CircuitBreaker(Func selector) =>
Assign(a => a.CircuitBreakerSettings = selector?.Invoke(new CircuitBreakerSettingsDescriptor()));
- //fielddatasettings are static
+ //fielddatasettings are static
///
- public IndicesModuleSettingsDescriptor IndicesRecovery(Func selector) =>
+ public IndicesModuleSettingsDescriptor IndicesRecovery(Func selector) =>
Assign(a => a.RecoverySettings = selector?.Invoke(new IndicesRecoverySettingsDescriptor()));
}
-}
\ No newline at end of file
+}
diff --git a/src/Nest/Modules/SnapshotAndRestore/Repositories/CreateRepository/CreateRepositoryRequest.cs b/src/Nest/Modules/SnapshotAndRestore/Repositories/CreateRepository/CreateRepositoryRequest.cs
index ef20fe8adb0..74cf4385758 100644
--- a/src/Nest/Modules/SnapshotAndRestore/Repositories/CreateRepository/CreateRepositoryRequest.cs
+++ b/src/Nest/Modules/SnapshotAndRestore/Repositories/CreateRepository/CreateRepositoryRequest.cs
@@ -5,12 +5,12 @@ namespace Nest
{
[JsonConverter(typeof(CreateRepositoryJsonConverter))]
- public partial interface ICreateRepositoryRequest
+ public partial interface ICreateRepositoryRequest
{
ISnapshotRepository Repository { get; set; }
}
- public partial class CreateRepositoryRequest
+ public partial class CreateRepositoryRequest
{
public ISnapshotRepository Repository { get; set; }
}
@@ -21,24 +21,20 @@ public partial class CreateRepositoryDescriptor
ISnapshotRepository ICreateRepositoryRequest.Repository { get; set; }
///
- /// The shared file system repository ("type": "fs") is using shared file system to store snapshot.
- /// The path specified in the location parameter should point to the same location in the shared
- /// filesystem and be accessible on all data and master nodes.
+ /// The shared file system repository ("type": "fs") is using shared file system to store snapshot.
+ /// The path specified in the location parameter should point to the same location in the shared
+ /// filesystem and be accessible on all data and master nodes.
///
- ///
- ///
public CreateRepositoryDescriptor FileSystem(Func selector) =>
Assign(a => a.Repository = selector?.Invoke(new FileSystemRepositoryDescriptor()));
///
- /// The URL repository ("type": "url") can be used as an alternative read-only way to access data
- /// created by shared file system repository is using shared file system to store snapshot.
+ /// The URL repository ("type": "url") can be used as an alternative read-only way to access data
+ /// created by shared file system repository is using shared file system to store snapshot.
///
- ///
- ///
public CreateRepositoryDescriptor ReadOnlyUrl(Func selector) =>
Assign(a => a.Repository = selector?.Invoke(new ReadOnlyUrlRepositoryDescriptor()));
-
+
///
/// Specify an azure storage container to snapshot and restore to. (defaults to a container named elasticsearch-snapshots)
///
@@ -48,17 +44,12 @@ public CreateRepositoryDescriptor Azure(Func
/// Create an snapshot/restore repository that points to an HDFS filesystem
///
- ///
- ///
public CreateRepositoryDescriptor Hdfs(Func selector) =>
Assign(a => a.Repository = selector?.Invoke(new HdfsRepositoryDescriptor()));
///
/// Snapshot and restore to an Amazon S3 bucket
///
- ///
- ///
- ///
public CreateRepositoryDescriptor S3(Func selector) =>
Assign(a => a.Repository = selector?.Invoke(new S3RepositoryDescriptor()));
diff --git a/src/Nest/Modules/SnapshotAndRestore/Repositories/DeleteRepository/ElasticClient-DeleteRepository.cs b/src/Nest/Modules/SnapshotAndRestore/Repositories/DeleteRepository/ElasticClient-DeleteRepository.cs
index 8651e06ef5a..de550996a49 100644
--- a/src/Nest/Modules/SnapshotAndRestore/Repositories/DeleteRepository/ElasticClient-DeleteRepository.cs
+++ b/src/Nest/Modules/SnapshotAndRestore/Repositories/DeleteRepository/ElasticClient-DeleteRepository.cs
@@ -11,7 +11,7 @@ public partial interface IElasticClient
/// Delete a repository, if you have ongoing restore operations be sure to delete the indices being restored into first.
/// http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-snapshots.html#_repositories
///
- /// The name of the repository
+ /// The names of the repositories
/// Optionaly provide the delete operation with more details>
IDeleteRepositoryResponse DeleteRepository(Names repositories, Func selector = null);
diff --git a/src/Nest/Modules/SnapshotAndRestore/Repositories/HdfsRepository.cs b/src/Nest/Modules/SnapshotAndRestore/Repositories/HdfsRepository.cs
index 52aa984a842..7563505a59c 100644
--- a/src/Nest/Modules/SnapshotAndRestore/Repositories/HdfsRepository.cs
+++ b/src/Nest/Modules/SnapshotAndRestore/Repositories/HdfsRepository.cs
@@ -47,7 +47,7 @@ public interface IHdfsRepositorySettings : IRepositorySettings
public class HdfsRepositorySettings : IHdfsRepositorySettings
{
internal HdfsRepositorySettings() { }
-
+
public HdfsRepositorySettings(string path)
{
this.Path = path;
@@ -63,7 +63,7 @@ public HdfsRepositorySettings(string path)
public string Uri { get; set; }
}
- public class HdfsRepositorySettingsDescriptor
+ public class HdfsRepositorySettingsDescriptor
: DescriptorBase, IHdfsRepositorySettings
{
string IHdfsRepositorySettings.Uri { get; set; }
@@ -100,14 +100,12 @@ public HdfsRepositorySettingsDescriptor ConfigurationLocation(string configurati
///
/// 'inlined' key=value added to the Hadoop configuration
///
- ///
- ///
public HdfsRepositorySettingsDescriptor InlinedHadoopConfiguration(Func, FluentDictionary> inlineConfig) => Assign(a =>
a.InlineHadoopConfiguration = inlineConfig(new FluentDictionary())
);
///
- /// When set to true metadata files are stored in compressed format. This setting doesn't
+ /// When set to true metadata files are stored in compressed format. This setting doesn't
/// affect index files that are already compressed by default. Defaults to false.
///
///
@@ -128,10 +126,10 @@ public HdfsRepositorySettingsDescriptor InlinedHadoopConfiguration(Func Assign(a => a.ChunkSize = chunkSize);
}
- public class HdfsRepositoryDescriptor
+ public class HdfsRepositoryDescriptor
: DescriptorBase, IHdfsRepository
{
- string ISnapshotRepository.Type { get { return "hdfs"; } }
+ string ISnapshotRepository.Type { get { return "hdfs"; } }
IHdfsRepositorySettings IRepository.Settings { get; set; }
diff --git a/src/Nest/Modules/SnapshotAndRestore/Snapshot/GetSapshot/ElasticClient-GetSnapshot.cs b/src/Nest/Modules/SnapshotAndRestore/Snapshot/GetSapshot/ElasticClient-GetSnapshot.cs
index 9f7e9095f13..12cc2a2ad58 100644
--- a/src/Nest/Modules/SnapshotAndRestore/Snapshot/GetSapshot/ElasticClient-GetSnapshot.cs
+++ b/src/Nest/Modules/SnapshotAndRestore/Snapshot/GetSapshot/ElasticClient-GetSnapshot.cs
@@ -12,7 +12,7 @@ public partial interface IElasticClient
/// http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-snapshots.html#_snapshot
///
/// The repository name under which the snapshots live
- /// The names of the snapshots we want information from (can be _all or wildcards)
+ /// The names of the snapshots we want information from (can be _all or wildcards)
/// Optionally further describe the get snapshot operation
IGetSnapshotResponse GetSnapshot(Name repository, Names snapshots, Func selector = null);
diff --git a/src/Nest/QueryDsl/Specialized/Script/ScriptQuery.cs b/src/Nest/QueryDsl/Specialized/Script/ScriptQuery.cs
index b896f9163cb..20686174669 100644
--- a/src/Nest/QueryDsl/Specialized/Script/ScriptQuery.cs
+++ b/src/Nest/QueryDsl/Specialized/Script/ScriptQuery.cs
@@ -74,7 +74,7 @@ public class ScriptQueryDescriptor
/// it is preferable to use the ability to pass parameters to the script itself.
///
///
- /// script: "doc['num1'].value > param1"
+ /// script: "doc['num1'].value > param1"
/// param: "param1" = 5
///
/// param
diff --git a/src/Nest/project.json b/src/Nest/project.json
index 35ce9fb88a1..d50a7d9639c 100644
--- a/src/Nest/project.json
+++ b/src/Nest/project.json
@@ -29,7 +29,9 @@
},
"copyright": "2014-2016 Elasticsearch BV",
"buildOptions": {
- "warningsAsErrors": false
+ "warningsAsErrors": false,
+ "xmlDoc" : true,
+ "nowarn": ["CS1591", "1591", "1573"]
},
"configurations": {
"Debug": {
diff --git a/src/Tests/Framework/Configuration/Versions/ElasticsearchVersion.cs b/src/Tests/Framework/Configuration/Versions/ElasticsearchVersion.cs
index 4e3653b8e93..00d15209298 100644
--- a/src/Tests/Framework/Configuration/Versions/ElasticsearchVersion.cs
+++ b/src/Tests/Framework/Configuration/Versions/ElasticsearchVersion.cs
@@ -1,8 +1,6 @@
using System;
using System.Collections.Concurrent;
-using System.IO.Packaging;
using System.Linq;
-using System.Text.RegularExpressions;
using System.Threading;
using System.Xml.Linq;
using Version = SemVer.Version;
diff --git a/src/Tests/project.json b/src/Tests/project.json
index 3aa7037bc4f..99092d39162 100644
--- a/src/Tests/project.json
+++ b/src/Tests/project.json
@@ -3,17 +3,18 @@
"buildOptions": {
"emitEntryPoint": true,
"warningsAsErrors": false,
+ "nowarn": ["CS1591", "1591", "1573"],
"embed": [
"Document\\Single\\Attachment\\Attachment_Test_Document.pdf"
]
},
"dependencies": {
- "Bogus": "7.1.4",
+ "Bogus": "9.0.2",
"BenchmarkDotNet": "0.10.0",
"System.Buffers": "4.0.0",
"DiffPlex": "2.0.0-alpha1",
"Elasticsearch.Net": { "target": "project" },
- "FluentAssertions": "4.6.3",
+ "FluentAssertions": "4.19",
"Nest": { "target": "project" },
"Newtonsoft.Json": "9.0.1",
"Rx-Main": "2.3.0-beta2",