Skip to content

Add missing fields on simple query string query #2795

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 29, 2017
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
8 changes: 4 additions & 4 deletions src/Nest/QueryDsl/FullText/Match/MatchQuery.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ public class MatchQuery : FieldNameQueryBase, IMatchQuery
[Obsolete("Use FuzzyMultiTermQueryRewrite")]
public RewriteMultiTerm? FuzzyRewrite
{
get { return FuzzyMultiTermQueryRewrite?.Rewrite; }
set { FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => FuzzyMultiTermQueryRewrite?.Rewrite;
set => FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}
public MultiTermQueryRewrite FuzzyMultiTermQueryRewrite { get; set; }
public IFuzziness Fuzziness { get; set; }
Expand Down Expand Up @@ -99,8 +99,8 @@ public class MatchQueryDescriptor<T>
MinimumShouldMatch IMatchQuery.MinimumShouldMatch { get; set; }
RewriteMultiTerm? IMatchQuery.FuzzyRewrite
{
get { return Self.FuzzyMultiTermQueryRewrite?.Rewrite; }
set { Self.FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => Self.FuzzyMultiTermQueryRewrite?.Rewrite;
set => Self.FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}
MultiTermQueryRewrite IMatchQuery.FuzzyMultiTermQueryRewrite { get; set; }
IFuzziness IMatchQuery.Fuzziness { get; set; }
Expand Down
8 changes: 4 additions & 4 deletions src/Nest/QueryDsl/FullText/MultiMatch/MultiMatchQuery.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ public class MultiMatchQuery : QueryBase, IMultiMatchQuery
[Obsolete("Use FuzzyMultiTermQueryRewrite")]
public RewriteMultiTerm? FuzzyRewrite
{
get { return FuzzyMultiTermQueryRewrite?.Rewrite; }
set { FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => FuzzyMultiTermQueryRewrite?.Rewrite;
set => FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}
public MultiTermQueryRewrite FuzzyMultiTermQueryRewrite { get; set; }

Expand Down Expand Up @@ -119,8 +119,8 @@ public class MultiMatchQueryDescriptor<T>
[Obsolete("Use FuzzyMultiTermQueryRewrite")]
RewriteMultiTerm? IMultiMatchQuery.FuzzyRewrite
{
get { return Self.FuzzyMultiTermQueryRewrite?.Rewrite; }
set { Self.FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => Self.FuzzyMultiTermQueryRewrite?.Rewrite;
set => Self.FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}
MultiTermQueryRewrite IMultiMatchQuery.FuzzyMultiTermQueryRewrite { get; set; }
Fuzziness IMultiMatchQuery.Fuzziness { get; set; }
Expand Down
44 changes: 34 additions & 10 deletions src/Nest/QueryDsl/FullText/QueryString/QueryStringQuery.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public interface IQueryStringQuery : IQuery
bool? AllowLeadingWildcard { get; set; }

[JsonProperty("lowercase_expanded_terms")]
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
bool? LowercaseExpendedTerms { get; set; }

[JsonProperty("enable_position_increments")]
Expand Down Expand Up @@ -60,6 +61,7 @@ public interface IQueryStringQuery : IQuery
bool? Lenient { get; set; }

[JsonProperty("locale")]
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
string Locale { get; set; }

[JsonProperty("time_zone")]
Expand Down Expand Up @@ -93,6 +95,12 @@ public interface IQueryStringQuery : IQuery

[JsonProperty("escape")]
bool? Escape { get; set; }

[JsonProperty("all_fields")]
bool? AllFields { get; set; }

[JsonProperty("split_on_whitespace")]
bool? SplitOnWhitespace { get; set; }
}

public class QueryStringQuery : QueryBase, IQueryStringQuery
Expand All @@ -101,20 +109,21 @@ public class QueryStringQuery : QueryBase, IQueryStringQuery
public int? FuzzyMaxExpansions { get; set; }
public Fuzziness Fuzziness { get; set; }
public MinimumShouldMatch MinimumShouldMatch { get; set; }
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
public string Locale { get; set; }
[Obsolete("Use MultiTermQueryRewrite")]
public RewriteMultiTerm? Rewrite
{
get { return MultiTermQueryRewrite?.Rewrite; }
set { MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => MultiTermQueryRewrite?.Rewrite;
set => MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}
public MultiTermQueryRewrite MultiTermQueryRewrite { get; set; }

[Obsolete("Use FuzzyMultiTermQueryRewrite")]
public RewriteMultiTerm? FuzzyRewrite
{
get { return FuzzyMultiTermQueryRewrite?.Rewrite; }
set { FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => FuzzyMultiTermQueryRewrite?.Rewrite;
set => FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}
public MultiTermQueryRewrite FuzzyMultiTermQueryRewrite { get; set; }
public string QuoteFieldSuffix { get; set; }
Expand All @@ -127,6 +136,7 @@ public RewriteMultiTerm? FuzzyRewrite
public string Analyzer { get; set; }
public string QuoteAnalyzer { get; set; }
public bool? AllowLeadingWildcard { get; set; }
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
public bool? LowercaseExpendedTerms { get; set; }
public bool? EnablePositionIncrements { get; set; }
public int? FuzzyPrefixLength { get; set; }
Expand All @@ -137,6 +147,8 @@ public RewriteMultiTerm? FuzzyRewrite
public bool? UseDisMax { get; set; }
public double? TieBreaker { get; set; }
public int? MaximumDeterminizedStates { get; set; }
public bool? AllFields { get; set; }
public bool? SplitOnWhitespace { get; set; }

internal override void InternalWrapInContainer(IQueryContainer c) => c.QueryString = this;
internal static bool IsConditionless(IQueryStringQuery q) => q.Query.IsNullOrEmpty();
Expand All @@ -150,6 +162,7 @@ public class QueryStringQueryDescriptor<T>
protected override bool Conditionless => QueryStringQuery.IsConditionless(this);

string IQueryStringQuery.Query { get; set; }
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
string IQueryStringQuery.Locale { get; set; }
string IQueryStringQuery.Timezone { get; set; }
Field IQueryStringQuery.DefaultField { get; set; }
Expand All @@ -158,6 +171,7 @@ public class QueryStringQueryDescriptor<T>
string IQueryStringQuery.Analyzer { get; set; }
string IQueryStringQuery.QuoteAnalyzer { get; set; }
bool? IQueryStringQuery.AllowLeadingWildcard { get; set; }
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
bool? IQueryStringQuery.LowercaseExpendedTerms { get; set; }
bool? IQueryStringQuery.EnablePositionIncrements { get; set; }
int? IQueryStringQuery.FuzzyMaxExpansions { get; set; }
Expand All @@ -174,19 +188,21 @@ public class QueryStringQueryDescriptor<T>
[Obsolete("Use FuzzyMultiTermQueryRewrite")]
RewriteMultiTerm? IQueryStringQuery.FuzzyRewrite
{
get { return Self.FuzzyMultiTermQueryRewrite?.Rewrite; }
set { Self.FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => Self.FuzzyMultiTermQueryRewrite?.Rewrite;
set => Self.FuzzyMultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}
MultiTermQueryRewrite IQueryStringQuery.FuzzyMultiTermQueryRewrite { get; set; }
[Obsolete("Use MultiTermQueryRewrite")]
RewriteMultiTerm? IQueryStringQuery.Rewrite
{
get { return Self.MultiTermQueryRewrite?.Rewrite; }
set { Self.MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => Self.MultiTermQueryRewrite?.Rewrite;
set => Self.MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}
MultiTermQueryRewrite IQueryStringQuery.MultiTermQueryRewrite { get; set; }
string IQueryStringQuery.QuoteFieldSuffix { get; set; }
bool? IQueryStringQuery.Escape { get; set; }
bool? IQueryStringQuery.AllFields { get; set; }
bool? IQueryStringQuery.SplitOnWhitespace { get; set; }

public QueryStringQueryDescriptor<T> DefaultField(Field field) => Assign(a => a.DefaultField = field);
public QueryStringQueryDescriptor<T> DefaultField(Expression<Func<T, object>> field) => Assign(a => a.DefaultField = field);
Expand All @@ -198,6 +214,7 @@ public QueryStringQueryDescriptor<T> Fields(Func<FieldsDescriptor<T>, IPromise<F

public QueryStringQueryDescriptor<T> Query(string query) => Assign(a => a.Query = query);

[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
public QueryStringQueryDescriptor<T> Locale(string locale) => Assign(a => a.Locale = locale);

public QueryStringQueryDescriptor<T> Timezone(string timezone) => Assign(a => a.Timezone = timezone);
Expand All @@ -211,6 +228,7 @@ public QueryStringQueryDescriptor<T> Fields(Func<FieldsDescriptor<T>, IPromise<F
public QueryStringQueryDescriptor<T> AllowLeadingWildcard(bool? allowLeadingWildcard = true) =>
Assign(a => a.AllowLeadingWildcard = allowLeadingWildcard);

[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
public QueryStringQueryDescriptor<T> LowercaseExpendedTerms(bool? lowercaseExpendedTerms = true) =>
Assign(a => a.LowercaseExpendedTerms = lowercaseExpendedTerms);

Expand Down Expand Up @@ -260,11 +278,17 @@ public QueryStringQueryDescriptor<T> Rewrite(RewriteMultiTerm? rewrite) =>
: null;
});

public QueryStringQueryDescriptor<T> Rewrite(MultiTermQueryRewrite rewrite) => Assign(a => Self.MultiTermQueryRewrite = rewrite);
public QueryStringQueryDescriptor<T> Rewrite(MultiTermQueryRewrite rewrite) =>
Assign(a => Self.MultiTermQueryRewrite = rewrite);

public QueryStringQueryDescriptor<T> QuoteFieldSuffix(string quoteFieldSuffix) => Assign(a => a.QuoteFieldSuffix = quoteFieldSuffix);
public QueryStringQueryDescriptor<T> QuoteFieldSuffix(string quoteFieldSuffix) =>
Assign(a => a.QuoteFieldSuffix = quoteFieldSuffix);

public QueryStringQueryDescriptor<T> Escape(bool? escape = true) => Assign(a => a.Escape = escape);

public QueryStringQueryDescriptor<T> AllFields(bool? allFields = true) => Assign(a => a.AllFields = allFields);

public QueryStringQueryDescriptor<T> SplitOnWhitespace(bool? splitOnWhitespace = true) =>
Assign(a => a.SplitOnWhitespace = splitOnWhitespace);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,11 @@ public interface ISimpleQueryStringQuery : IQuery
SimpleQueryStringFlags? Flags { get; set; }

[JsonProperty(PropertyName = "locale")]
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
string Locale { get; set; }

[JsonProperty(PropertyName = "lowercase_expanded_terms")]
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
bool? LowercaseExpendedTerms { get; set; }

[JsonProperty(PropertyName = "lenient")]
Expand All @@ -36,6 +38,12 @@ public interface ISimpleQueryStringQuery : IQuery

[JsonProperty("minimum_should_match")]
MinimumShouldMatch MinimumShouldMatch { get; set; }

[JsonProperty("quote_field_suffix")]
string QuoteFieldSuffix { get; set; }

[JsonProperty("all_fields")]
bool? AllFields { get; set; }
}

public class SimpleQueryStringQuery : QueryBase, ISimpleQueryStringQuery
Expand All @@ -46,11 +54,15 @@ public class SimpleQueryStringQuery : QueryBase, ISimpleQueryStringQuery
public string Analyzer { get; set; }
public Operator? DefaultOperator { get; set; }
public SimpleQueryStringFlags? Flags { get; set; }
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
public string Locale { get; set; }
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
public bool? LowercaseExpendedTerms { get; set; }
public bool? Lenient { get; set; }
public bool? AnalyzeWildcard { get; set; }
public MinimumShouldMatch MinimumShouldMatch { get; set; }
public string QuoteFieldSuffix { get; set; }
public bool? AllFields { get; set; }

internal override void InternalWrapInContainer(IQueryContainer c) => c.SimpleQueryString = this;
internal static bool IsConditionless(ISimpleQueryStringQuery q) => q.Query.IsNullOrEmpty();
Expand All @@ -66,11 +78,15 @@ public class SimpleQueryStringQueryDescriptor<T>
string ISimpleQueryStringQuery.Analyzer { get; set; }
Operator? ISimpleQueryStringQuery.DefaultOperator { get; set; }
SimpleQueryStringFlags? ISimpleQueryStringQuery.Flags { get; set; }
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
string ISimpleQueryStringQuery.Locale { get; set; }
[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
bool? ISimpleQueryStringQuery.LowercaseExpendedTerms { get; set; }
bool? ISimpleQueryStringQuery.AnalyzeWildcard { get; set; }
bool? ISimpleQueryStringQuery.Lenient { get; set; }
MinimumShouldMatch ISimpleQueryStringQuery.MinimumShouldMatch { get; set; }
string ISimpleQueryStringQuery.QuoteFieldSuffix { get; set; }
bool? ISimpleQueryStringQuery.AllFields { get; set; }

public SimpleQueryStringQueryDescriptor<T> Fields(Func<FieldsDescriptor<T>, IPromise<Fields>> fields) =>
Assign(a => a.Fields = fields?.Invoke(new FieldsDescriptor<T>())?.Value);
Expand All @@ -85,8 +101,10 @@ public SimpleQueryStringQueryDescriptor<T> Fields(Func<FieldsDescriptor<T>, IPro

public SimpleQueryStringQueryDescriptor<T> Flags(SimpleQueryStringFlags? flags) => Assign(a => a.Flags = flags);

[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
public SimpleQueryStringQueryDescriptor<T> Locale(string locale) => Assign(a => a.Locale = locale);

[Obsolete("Deprecated in Elasticsearch 5.1.1. Can be performed by the analyzer applied")]
public SimpleQueryStringQueryDescriptor<T> LowercaseExpendedTerms(bool? lowercaseExpendedTerms = true) =>
Assign(a => a.LowercaseExpendedTerms = lowercaseExpendedTerms);

Expand All @@ -98,5 +116,10 @@ public SimpleQueryStringQueryDescriptor<T> AnalyzeWildcard(bool? analyzeWildcard
public SimpleQueryStringQueryDescriptor<T> MinimumShouldMatch(MinimumShouldMatch minimumShouldMatch) =>
Assign(a => a.MinimumShouldMatch = minimumShouldMatch);

}
public SimpleQueryStringQueryDescriptor<T> QuoteFieldSuffix(string quoteFieldSuffix) =>
Assign(a => a.QuoteFieldSuffix = quoteFieldSuffix);

public SimpleQueryStringQueryDescriptor<T> AllFields(bool? allFields = true) =>
Assign(a => a.AllFields = allFields);
}
}
8 changes: 4 additions & 4 deletions src/Nest/QueryDsl/TermLevel/Fuzzy/FuzzyQueryBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ public abstract class FuzzyQueryBase<TValue, TFuzziness> : FieldNameQueryBase, I
[Obsolete("Use MultiTermQueryRewrite")]
public RewriteMultiTerm? Rewrite
{
get { return MultiTermQueryRewrite?.Rewrite; }
set { MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => MultiTermQueryRewrite?.Rewrite;
set => MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}

public MultiTermQueryRewrite MultiTermQueryRewrite { get; set; }
Expand Down Expand Up @@ -78,8 +78,8 @@ public abstract class FuzzyQueryDescriptorBase<TDescriptor, T, TValue, TFuzzines
[Obsolete("Use MultiTermQueryRewrite")]
RewriteMultiTerm? IFuzzyQuery.Rewrite
{
get { return Self.MultiTermQueryRewrite?.Rewrite; }
set { Self.MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => Self.MultiTermQueryRewrite?.Rewrite;
set => Self.MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}

MultiTermQueryRewrite IFuzzyQuery.MultiTermQueryRewrite { get; set; }
Expand Down
8 changes: 4 additions & 4 deletions src/Nest/QueryDsl/TermLevel/Prefix/PrefixQuery.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ public class PrefixQuery : FieldNameQueryBase, IPrefixQuery
[Obsolete("Use MultiTermQueryRewrite")]
public RewriteMultiTerm? Rewrite
{
get { return MultiTermQueryRewrite?.Rewrite; }
set { MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => MultiTermQueryRewrite?.Rewrite;
set => MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}

public MultiTermQueryRewrite MultiTermQueryRewrite { get; set; }
Expand All @@ -40,8 +40,8 @@ public class PrefixQueryDescriptor<T> : TermQueryDescriptorBase<PrefixQueryDescr

RewriteMultiTerm? IPrefixQuery.Rewrite
{
get { return Self.MultiTermQueryRewrite?.Rewrite; }
set { Self.MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => Self.MultiTermQueryRewrite?.Rewrite;
set => Self.MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}

MultiTermQueryRewrite IPrefixQuery.MultiTermQueryRewrite { get; set; }
Expand Down
8 changes: 4 additions & 4 deletions src/Nest/QueryDsl/TermLevel/Wildcard/WildcardQuery.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ public class WildcardQuery : FieldNameQueryBase, IWildcardQuery
[Obsolete("Use MultiTermQueryRewrite")]
public RewriteMultiTerm? Rewrite
{
get { return MultiTermQueryRewrite?.Rewrite; }
set { MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => MultiTermQueryRewrite?.Rewrite;
set => MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}

public MultiTermQueryRewrite MultiTermQueryRewrite { get; set; }
Expand All @@ -48,8 +48,8 @@ public class WildcardQueryDescriptor<T> : TermQueryDescriptorBase<WildcardQueryD

RewriteMultiTerm? IWildcardQuery.Rewrite
{
get { return Self.MultiTermQueryRewrite?.Rewrite; }
set { Self.MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value); }
get => Self.MultiTermQueryRewrite?.Rewrite;
set => Self.MultiTermQueryRewrite = value == null ? null : new MultiTermQueryRewrite(value.Value);
}

MultiTermQueryRewrite IWildcardQuery.MultiTermQueryRewrite { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,10 @@ public QueryStringUsageTests(ReadOnlyCluster i, EndpointUsage usage) : base(i, u
AllowLeadingWildcard = true,
AutoGeneratePhraseQueries = true,
MaximumDeterminizedStates = 2,
#pragma warning disable 618 // usage of lowercase_expanded_terms and locale
LowercaseExpendedTerms = true,
Locale = "en_US",
#pragma warning restore 618 // usage of lowercase_expanded_terms and locale
EnablePositionIncrements = true,
Escape = true,
UseDisMax = true,
Expand All @@ -70,12 +73,12 @@ public QueryStringUsageTests(ReadOnlyCluster i, EndpointUsage usage) : base(i, u
AnalyzeWildcard = true,
MinimumShouldMatch = 2,
QuoteFieldSuffix = "'",
Lenient = true,
Locale = "en_US",
Lenient = true,
Timezone = "root"
};

protected override QueryContainer QueryFluent(QueryContainerDescriptor<Project> q) => q
#pragma warning disable 618 // usage of lowercase_expanded_terms and locale
.QueryString(c => c
.Name("named_query")
.Boost(1.1)
Expand Down Expand Up @@ -105,6 +108,7 @@ protected override QueryContainer QueryFluent(QueryContainerDescriptor<Project>
.Locale("en_US")
.Timezone("root")
);
#pragma warning restore 618 // usage of lowercase_expanded_terms and locale

protected override ConditionlessWhen ConditionlessWhen => new ConditionlessWhen<IQueryStringQuery>(a => a.QueryString)
{
Expand Down
Loading