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
23 changes: 18 additions & 5 deletions src/Nest/DSL/Filter/RegexpFilterDescriptor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ public interface IRegexpFilter : IFieldNameFilter
[JsonProperty("flags")]
string Flags { get; set; }

[JsonProperty(PropertyName = "max_determinized_states")]
int? MaximumDeterminizedStates { get; set; }

}

public class RegexpFilter : PlainFilter, IRegexpFilter
Expand All @@ -26,43 +29,53 @@ protected internal override void WrapInContainer(IFilterContainer container)

public string Value { get; set; }
public string Flags { get; set; }
public int? MaximumDeterminizedStates { get; set; }
public PropertyPathMarker Field { get; set; }
}

public class RegexpFilterDescriptor<T> : FilterBase, IRegexpFilter where T : class
{
private IRegexpFilter Self { get { return this; }}

string IRegexpFilter.Value { get; set; }

string IRegexpFilter.Flags { get; set; }

int? IRegexpFilter.MaximumDeterminizedStates { get; set; }

PropertyPathMarker IFieldNameFilter.Field { get; set; }

bool IFilter.IsConditionless
{
get
{
return ((IRegexpFilter)this).Field.IsConditionless() || ((IRegexpFilter)this).Value.IsNullOrEmpty();
return Self.Field.IsConditionless() || Self.Value.IsNullOrEmpty();
}
}

public RegexpFilterDescriptor<T> Value(string regex)
{
((IRegexpFilter)this).Value = regex;
Self.Value = regex;
return this;
}
public RegexpFilterDescriptor<T> Flags(string flags)
{
((IRegexpFilter)this).Flags = flags;
Self.Flags = flags;
return this;
}
public RegexpFilterDescriptor<T> MaximumDeterminizedStates(int maxDeterminizedStates)
{
Self.MaximumDeterminizedStates = maxDeterminizedStates;
return this;
}
public RegexpFilterDescriptor<T> OnField(string path)
{
((IRegexpFilter)this).Field = path;
Self.Field = path;
return this;
}
public RegexpFilterDescriptor<T> OnField(Expression<Func<T, object>> objectPath)
{
((IRegexpFilter)this).Field = objectPath;
Self.Field = objectPath;
return this;
}

Expand Down
12 changes: 11 additions & 1 deletion src/Nest/DSL/Query/QueryStringDescriptor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@ public interface IQueryStringQuery : IQuery
[JsonProperty(PropertyName = "tie_breaker")]
double? TieBreaker { get; set; }

[JsonProperty(PropertyName = "max_determinized_states")]
int? MaximumDeterminizedStates { get; set; }

[JsonProperty(PropertyName = "rewrite")]
[JsonConverter(typeof (StringEnumConverter))]
RewriteMultiTerm? Rewrite { get; set; }
Expand Down Expand Up @@ -110,6 +113,7 @@ protected override void WrapInContainer(IQueryContainer container)
public string MinimumShouldMatchPercentage { get; set; }
public bool? UseDisMax { get; set; }
public double? TieBreaker { get; set; }
public int? MaximumDeterminizedStates { get; set; }
public RewriteMultiTerm? Rewrite { get; set; }
}

Expand Down Expand Up @@ -155,6 +159,8 @@ public class QueryStringQueryDescriptor<T> : IQueryStringQuery where T : class
bool? IQueryStringQuery.UseDisMax { get; set; }

double? IQueryStringQuery.TieBreaker { get; set; }

int? IQueryStringQuery.MaximumDeterminizedStates { get; set; }

RewriteMultiTerm? IQueryStringQuery.Rewrite { get; set; }

Expand Down Expand Up @@ -303,6 +309,10 @@ public QueryStringQueryDescriptor<T> TieBreaker(double tieBreaker)
Self.TieBreaker = tieBreaker;
return this;
}

public QueryStringQueryDescriptor<T> MaximumDeterminizedStates(int maxDeterminizedStates)
{
Self.MaximumDeterminizedStates = maxDeterminizedStates;
return this;
}
}
}
12 changes: 11 additions & 1 deletion src/Nest/DSL/Query/RegexpQueryDescriptor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ public interface IRegexpQuery : IFieldNameQuery
[JsonProperty("flags")]
string Flags { get; set; }

[JsonProperty(PropertyName = "max_determinized_states")]
int? MaximumDeterminizedStates { get; set; }

PropertyPathMarker Field { get; set; }

[JsonProperty("boost")]
Expand Down Expand Up @@ -43,6 +46,7 @@ void IFieldNameQuery.SetFieldName(string fieldName)

public string Value { get; set; }
public string Flags { get; set; }
public int? MaximumDeterminizedStates { get; set; }
public PropertyPathMarker Field { get; set; }
public double? Boost { get; set; }
}
Expand All @@ -55,6 +59,8 @@ public class RegexpQueryDescriptor<T> : IRegexpQuery where T : class

string IRegexpQuery.Flags { get; set; }

int? IRegexpQuery.MaximumDeterminizedStates { get; set; }

PropertyPathMarker IRegexpQuery.Field { get; set; }

double? IRegexpQuery.Boost { get; set; }
Expand Down Expand Up @@ -83,7 +89,11 @@ public RegexpQueryDescriptor<T> Name(string name)
Self.Name = name;
return this;
}

public RegexpQueryDescriptor<T> MaximumDeterminizedStates(int maxDeterminizedStates)
{
Self.MaximumDeterminizedStates = maxDeterminizedStates;
return this;
}
public RegexpQueryDescriptor<T> Value(string regex)
{
Self.Value = regex;
Expand Down