From 48a22004b99a4dd81f76063fc83a9c64ee7066ac Mon Sep 17 00:00:00 2001 From: gmarz Date: Tue, 12 Apr 2016 12:43:11 -0400 Subject: [PATCH] Mark PositionOffsetGap as obsolete in favor of PositionIncrementGap Closes #2027 --- .../Types/Core/String/StringAttribute.cs | 12 +++++++--- .../Types/Core/String/StringProperty.cs | 24 ++++++++++++++----- .../Types/Core/String/StringMappingTests.cs | 9 +++---- 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/Nest/Mapping/Types/Core/String/StringAttribute.cs b/src/Nest/Mapping/Types/Core/String/StringAttribute.cs index a723a726b24..30164a0dac7 100644 --- a/src/Nest/Mapping/Types/Core/String/StringAttribute.cs +++ b/src/Nest/Mapping/Types/Core/String/StringAttribute.cs @@ -1,4 +1,6 @@ -namespace Nest +using System; + +namespace Nest { public class StringAttribute : ElasticsearchPropertyAttributeBase, IStringProperty { @@ -14,7 +16,9 @@ public class StringAttribute : ElasticsearchPropertyAttributeBase, IStringProper string IStringProperty.SearchAnalyzer { get; set; } bool? IStringProperty.IncludeInAll { get; set; } int? IStringProperty.IgnoreAbove { get; set; } - int? IStringProperty.PositionOffsetGap { get; set; } + [Obsolete("Scheduled to be removed in 5.0. Use PositionIncrementGap instead.")] + int? IStringProperty.PositionOffsetGap { get { return Self.PositionIncrementGap; } set { Self.PositionIncrementGap = value; } } + int? IStringProperty.PositionIncrementGap { get; set; } IStringFielddata IStringProperty.Fielddata { get; set; } public string Analyzer { get { return Self.Analyzer; } set { Self.Analyzer = value; } } @@ -24,7 +28,9 @@ public class StringAttribute : ElasticsearchPropertyAttributeBase, IStringProper public FieldIndexOption Index { get { return Self.Index.GetValueOrDefault(); } set { Self.Index = value; } } public IndexOptions IndexOptions { get { return Self.IndexOptions.GetValueOrDefault(); } set { Self.IndexOptions = value; } } public string NullValue { get { return Self.NullValue; } set { Self.NullValue = value; } } - public int PositionOffsetGap { get { return Self.PositionOffsetGap.GetValueOrDefault(); } set { Self.PositionOffsetGap = value; } } + [Obsolete("Scheduled to be removed in 5.0. Use PositionIncrementGap instead.")] + public int PositionOffsetGap { get { return Self.PositionIncrementGap.GetValueOrDefault(); } set { Self.PositionIncrementGap = value; } } + public int PositionIncrementGap { get { return Self.PositionIncrementGap.GetValueOrDefault(); } set { Self.PositionIncrementGap = value; } } public string SearchAnalyzer { get { return Self.SearchAnalyzer; } set { Self.SearchAnalyzer = value; } } public TermVectorOption TermVector { get { return Self.TermVector.GetValueOrDefault(); } set { Self.TermVector = value; } } diff --git a/src/Nest/Mapping/Types/Core/String/StringProperty.cs b/src/Nest/Mapping/Types/Core/String/StringProperty.cs index 98b86e5632b..720c4da8fd4 100644 --- a/src/Nest/Mapping/Types/Core/String/StringProperty.cs +++ b/src/Nest/Mapping/Types/Core/String/StringProperty.cs @@ -36,9 +36,13 @@ public interface IStringProperty : IProperty [JsonProperty("ignore_above")] int? IgnoreAbove { get; set; } - [JsonProperty("position_offset_gap")] + [JsonIgnore] + [Obsolete("Scheduled to be removed in 5.0. Use PositionIncrementGap instead.")] int? PositionOffsetGap { get; set; } + [JsonProperty("position_increment_gap")] + int? PositionIncrementGap { get; set; } + [JsonProperty("fielddata")] IStringFielddata Fielddata { get; set; } } @@ -57,11 +61,14 @@ public StringProperty() : base("string") { } public string SearchAnalyzer { get; set; } public bool? IncludeInAll { get; set; } public int? IgnoreAbove { get; set; } - public int? PositionOffsetGap { get; set; } + [Obsolete("Scheduled to be removed in 5.0. Use PositionIncrementGap instead.")] + public int? PositionOffsetGap { get { return PositionIncrementGap; } set { PositionIncrementGap = value; } } + public int? PositionIncrementGap { get; set; } public IStringFielddata Fielddata { get; set; } + } - public class StringPropertyDescriptor + public class StringPropertyDescriptor : PropertyDescriptorBase, IStringProperty, T>, IStringProperty where T : class { @@ -75,7 +82,9 @@ public class StringPropertyDescriptor string IStringProperty.SearchAnalyzer { get; set; } bool? IStringProperty.IncludeInAll { get; set; } int? IStringProperty.IgnoreAbove { get; set; } - int? IStringProperty.PositionOffsetGap { get; set; } + [Obsolete("Scheduled to be removed in 5.0. Use PositionIncrementGap instead.")] + int? IStringProperty.PositionOffsetGap { get { return Self.PositionIncrementGap; } set { Self.PositionIncrementGap = value; } } + int? IStringProperty.PositionIncrementGap { get; set; } IStringFielddata IStringProperty.Fielddata { get; set; } public StringPropertyDescriptor() : base("string") { } @@ -105,9 +114,12 @@ public StringPropertyDescriptor() : base("string") { } public StringPropertyDescriptor IncludeInAll(bool includeInAll = true) => Assign(a => a.IncludeInAll = includeInAll); - public StringPropertyDescriptor PositionOffsetGap(int positionOffsetGap) => Assign(a => a.PositionOffsetGap = positionOffsetGap); + [Obsolete("Scheduled to be removed in 5.0. Use PositionIncrementGap() instead.")] + public StringPropertyDescriptor PositionOffsetGap(int positionOffsetGap) => Assign(a => a.PositionIncrementGap = positionOffsetGap); + + public StringPropertyDescriptor PositionIncrementGap(int? positionIncrementGap) => Assign(a => a.PositionIncrementGap = positionIncrementGap); public StringPropertyDescriptor Fielddata(Func selector) => Assign(a => a.Fielddata = selector?.Invoke(new StringFielddataDescriptor())); } -} \ No newline at end of file +} diff --git a/src/Tests/Mapping/Types/Core/String/StringMappingTests.cs b/src/Tests/Mapping/Types/Core/String/StringMappingTests.cs index d83f0b0dd14..127913cf57d 100644 --- a/src/Tests/Mapping/Types/Core/String/StringMappingTests.cs +++ b/src/Tests/Mapping/Types/Core/String/StringMappingTests.cs @@ -14,6 +14,7 @@ public class StringTest Index = FieldIndexOption.NotAnalyzed, IndexOptions = IndexOptions.Offsets, NullValue = "na", + // Purposely setting this obsolete property to ensure it serializes as position_increment_gap PositionOffsetGap = 5, SearchAnalyzer = "mysearchanalyzer", Similarity = SimilarityOption.BM25, @@ -48,7 +49,7 @@ public class StringMappingTests : TypeMappingTestBase index = "not_analyzed", index_options = "offsets", null_value = "na", - position_offset_gap = 5, + position_increment_gap = 5, search_analyzer = "mysearchanalyzer", similarity = "BM25", store = true, @@ -57,11 +58,11 @@ public class StringMappingTests : TypeMappingTestBase minimal = new { type = "string" - }, + }, inferred = new { type = "string" - }, + }, @char = new { type = "string" @@ -84,7 +85,7 @@ public class StringMappingTests : TypeMappingTestBase .Index(FieldIndexOption.NotAnalyzed) .IndexOptions(IndexOptions.Offsets) .NullValue("na") - .PositionOffsetGap(5) + .PositionIncrementGap(5) .SearchAnalyzer("mysearchanalyzer") .Similarity(SimilarityOption.BM25) .Store(true)