Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions src/Nest/Domain/Mapping/Descriptors/FieldDataFilterDescriptor.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Nest
{
public class FieldDataFilterDescriptor
{
internal FieldDataFilter Filter { get; private set; }

public FieldDataFilterDescriptor()
{
this.Filter = new FieldDataFilter();
}

public FieldDataFilterDescriptor Frequency(
Func<FieldDataFrequencyFilterDescriptor, FieldDataFrequencyFilterDescriptor> frequencyFilterSelector)
{
var selector = frequencyFilterSelector(new FieldDataFrequencyFilterDescriptor());
this.Filter.Frequency = selector.FrequencyFilter;
return this;
}

public FieldDataFilterDescriptor Regex(
Func<FieldDataRegexFilterDescriptor, FieldDataRegexFilterDescriptor> regexFilterSelector)
{
var selector = regexFilterSelector(new FieldDataRegexFilterDescriptor());
this.Filter.Regex = selector.RegexFilter;
return this;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Nest
{
public class FieldDataFrequencyFilterDescriptor
{
internal FieldDataFrequencyFilter FrequencyFilter { get; private set; }

public FieldDataFrequencyFilterDescriptor()
{
this.FrequencyFilter = new FieldDataFrequencyFilter();
}

public FieldDataFrequencyFilterDescriptor Min(double min)
{
this.FrequencyFilter.Min = min;
return this;
}

public FieldDataFrequencyFilterDescriptor Max(double max)
{
this.FrequencyFilter.Max = max;
return this;
}

public FieldDataFrequencyFilterDescriptor MinSegmentSize(int minSegmentSize)
{
this.FrequencyFilter.MinSegmentSize = minSegmentSize;
return this;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Nest
{
public class FieldDataNonStringMappingDescriptor
{
internal FieldDataNonStringMapping FieldData { get; private set; }

public FieldDataNonStringMappingDescriptor()
{
this.FieldData = new FieldDataNonStringMapping();
}

public FieldDataNonStringMappingDescriptor Format(FieldDataNonStringFormat format)
{
this.FieldData.Format = format;
return this;
}

public FieldDataNonStringMappingDescriptor Loading(FieldDataLoading loading)
{
this.FieldData.Loading = loading;
return this;
}

public FieldDataNonStringMappingDescriptor Filter(Func<FieldDataFilterDescriptor, FieldDataFilterDescriptor> filterSelector)
{
var selector = filterSelector(new FieldDataFilterDescriptor());
this.FieldData.Filter = selector.Filter;
return this;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Nest
{
public class FieldDataRegexFilterDescriptor
{
internal FieldDataRegexFilter RegexFilter { get; private set; }

public FieldDataRegexFilterDescriptor()
{
this.RegexFilter = new FieldDataRegexFilter();
}

public FieldDataRegexFilterDescriptor Pattern(string pattern)
{
this.RegexFilter.Pattern = pattern;
return this;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Nest
{
public class FieldDataStringMappingDescriptor
{
internal FieldDataStringMapping FieldData { get; private set; }

public FieldDataStringMappingDescriptor()
{
this.FieldData = new FieldDataStringMapping();
}

public FieldDataStringMappingDescriptor Format(FieldDataStringFormat format)
{
this.FieldData.Format = format;
return this;
}

public FieldDataStringMappingDescriptor Loading(FieldDataLoading loading)
{
this.FieldData.Loading = loading;
return this;
}

public FieldDataStringMappingDescriptor Filter(Func<FieldDataFilterDescriptor, FieldDataFilterDescriptor> filterSelector)
{
var selector = filterSelector(new FieldDataFilterDescriptor());
this.FieldData.Filter = selector.Filter;
return this;
}
}
}
14 changes: 14 additions & 0 deletions src/Nest/Domain/Mapping/Descriptors/GeoPointMappingDescriptor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,19 @@ public GeoPointMappingDescriptor<T> GeoHashPrecision(int geoHashPrecision)
this._Mapping.GeoHashPrecision = geoHashPrecision;
return this;
}

public GeoPointMappingDescriptor<T> FieldData(Func<FieldDataNonStringMappingDescriptor, FieldDataNonStringMappingDescriptor> fieldDataSelector)
{
fieldDataSelector.ThrowIfNull("fieldDataSelector");
var selector = fieldDataSelector(new FieldDataNonStringMappingDescriptor());
this._Mapping.FieldData = selector.FieldData;
return this;
}

public GeoPointMappingDescriptor<T> FieldData(FieldDataNonStringMapping fieldData)
{
this._Mapping.FieldData = fieldData;
return this;
}
}
}
14 changes: 14 additions & 0 deletions src/Nest/Domain/Mapping/Descriptors/NumberMappingDescriptor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,20 @@ public NumberMappingDescriptor<T> Fields(Func<CorePropertiesDescriptor<T>, CoreP
_Mapping.Fields[p.Key] = value;
}
return this;
}

public NumberMappingDescriptor<T> FieldData(Func<FieldDataNonStringMappingDescriptor, FieldDataNonStringMappingDescriptor> fieldDataSelector)
{
fieldDataSelector.ThrowIfNull("fieldDataSelector");
var selector = fieldDataSelector(new FieldDataNonStringMappingDescriptor());
this._Mapping.FieldData = selector.FieldData;
return this;
}

public NumberMappingDescriptor<T> FieldData(FieldDataNonStringMapping fieldData)
{
this._Mapping.FieldData = fieldData;
return this;
}
}
}
14 changes: 14 additions & 0 deletions src/Nest/Domain/Mapping/Descriptors/StringMappingDescriptor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -140,5 +140,19 @@ public StringMappingDescriptor<T> Fields(Func<CorePropertiesDescriptor<T>, CoreP
}
return this;
}

public StringMappingDescriptor<T> FieldData(Func<FieldDataStringMappingDescriptor, FieldDataStringMappingDescriptor> fieldDataSelector)
{
fieldDataSelector.ThrowIfNull("fieldDataSelector");
var selector = fieldDataSelector(new FieldDataStringMappingDescriptor());
this._Mapping.FieldData = selector.FieldData;
return this;
}

public StringMappingDescriptor<T> FieldData(FieldDataStringMapping fieldData)
{
this._Mapping.FieldData = fieldData;
return this;
}
}
}
18 changes: 18 additions & 0 deletions src/Nest/Domain/Mapping/SubMappings/FieldData/FieldDataFilter.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Nest
{
[JsonObject(MemberSerialization.OptIn)]
public class FieldDataFilter
{
[JsonProperty("frequency")]
public FieldDataFrequencyFilter Frequency { get; set; }

[JsonProperty("regex")]
public FieldDataRegexFilter Regex { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Nest
{
[JsonObject(MemberSerialization.OptIn)]
public class FieldDataFrequencyFilter
{
[JsonProperty("min")]
public double? Min { get; set; }

[JsonProperty("max")]
public double? Max { get; set; }

[JsonProperty("min_segment_size")]
public int? MinSegmentSize { get; set; }
}
}
18 changes: 18 additions & 0 deletions src/Nest/Domain/Mapping/SubMappings/FieldData/FieldDataMapping.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Nest
{
[JsonObject(MemberSerialization.OptIn)]
public abstract class FieldDataMapping
{
[JsonProperty("loading")]
public FieldDataLoading? Loading { get; set; }

[JsonProperty("filter")]
public FieldDataFilter Filter { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Nest
{
[JsonObject(MemberSerialization.OptIn)]
public class FieldDataNonStringMapping : FieldDataMapping
{
[JsonProperty("format")]
public FieldDataNonStringFormat? Format { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Nest
{
[JsonObject(MemberSerialization.OptIn)]
public class FieldDataRegexFilter
{
[JsonProperty("pattern")]
public string Pattern { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Nest
{
[JsonObject(MemberSerialization.OptIn)]
public class FieldDataStringMapping : FieldDataMapping
{
[JsonProperty("format")]
public FieldDataStringFormat? Format { get; set; }
}
}
3 changes: 3 additions & 0 deletions src/Nest/Domain/Mapping/Types/GeoPointMapping.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,8 @@ public class GeoPointMapping : IElasticType

[JsonProperty("geohash_precision")]
public int? GeoHashPrecision { get; set; }

[JsonProperty("fielddata")]
public FieldDataNonStringMapping FieldData { get; set; }
}
}
2 changes: 2 additions & 0 deletions src/Nest/Domain/Mapping/Types/NumberMapping.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,7 @@ public NumberMapping()
[JsonProperty("coerce")]
public bool? Coerce { get; set; }

[JsonProperty("fielddata")]
public FieldDataNonStringMapping FieldData { get; set; }
}
}
5 changes: 4 additions & 1 deletion src/Nest/Domain/Mapping/Types/StringMapping.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ public StringMapping():base("string")
public int? PositionOffsetGap { get; set; }

[JsonProperty("copy_to")]
public IEnumerable<PropertyPathMarker> CopyTo { get; set; }
public IEnumerable<PropertyPathMarker> CopyTo { get; set; }

[JsonProperty("fielddata")]
public FieldDataStringMapping FieldData { get; set; }
}
}
19 changes: 19 additions & 0 deletions src/Nest/Enums/FieldDataLoading.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;

namespace Nest
{
[JsonConverter(typeof(StringEnumConverter))]
public enum FieldDataLoading
{
[EnumMember(Value = "eager")]
Eager,
[EnumMember(Value = "eager_global_ordinals")]
EagerGlobalOrdinals
}
}
Loading