This repository has been archived by the owner on Jul 18, 2018. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bug fix,when using range_query within filtered_query
- Loading branch information
Showing
41 changed files
with
1,711 additions
and
39 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
39 changes: 39 additions & 0 deletions
39
ElasticSearch.Client/QueryDSL/Converters/Filter/AndFilterConvert.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
using System; | ||
using Newtonsoft.Json; | ||
|
||
namespace ElasticSearch.Client.QueryDSL | ||
{ | ||
internal class AndFilterConverter : JsonConverter | ||
{ | ||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) | ||
{ | ||
AndFilter term = (AndFilter)value; | ||
if (term != null) | ||
{ | ||
writer.WriteStartObject(); | ||
writer.WritePropertyName("and"); | ||
writer.WriteStartObject(); | ||
writer.WritePropertyName("filters"); | ||
writer.WriteStartArray(); | ||
foreach (var filter in term.Filters) | ||
{ | ||
serializer.Serialize(writer, filter); | ||
} | ||
writer.WriteEndArray(); | ||
writer.WriteEndObject(); | ||
writer.WriteRaw(",\"_cache\": " + term.Cache.ToString().ToLower()); | ||
writer.WriteEndObject(); | ||
} | ||
} | ||
|
||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
|
||
public override bool CanConvert(Type objectType) | ||
{ | ||
return typeof(AndFilter).IsAssignableFrom(objectType); | ||
} | ||
} | ||
} |
62 changes: 62 additions & 0 deletions
62
ElasticSearch.Client/QueryDSL/Converters/Filter/BoolFilterConvert.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
using System; | ||
using Newtonsoft.Json; | ||
|
||
namespace ElasticSearch.Client.QueryDSL | ||
{ | ||
internal class BoolFilterConverter : JsonConverter | ||
{ | ||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) | ||
{ | ||
BoolFilter term = (BoolFilter)value; | ||
if (term != null) | ||
{ | ||
writer.WriteStartObject(); | ||
writer.WritePropertyName("bool"); | ||
writer.WriteStartObject(); | ||
bool pre = false; | ||
if (term.MustFilters != null && term.MustFilters.Count > 0) | ||
{ | ||
writer.WritePropertyName("must"); | ||
writer.WriteStartArray(); | ||
foreach (var VARIABLE in term.MustFilters) | ||
{ | ||
serializer.Serialize(writer, VARIABLE); | ||
} | ||
writer.WriteEndArray(); | ||
} | ||
if (term.MustNotFilters != null && term.MustNotFilters.Count > 0) | ||
{ | ||
writer.WritePropertyName("must_not"); | ||
writer.WriteStartArray(); | ||
foreach (var VARIABLE in term.MustNotFilters) | ||
{ | ||
serializer.Serialize(writer, VARIABLE); | ||
} | ||
writer.WriteEndArray(); | ||
} | ||
if (term.ShouldFilters != null && term.ShouldFilters.Count > 0) | ||
{ | ||
writer.WritePropertyName("should"); | ||
writer.WriteStartArray(); | ||
foreach (var shouldQuery in term.ShouldFilters) | ||
{ | ||
serializer.Serialize(writer, shouldQuery); | ||
} | ||
writer.WriteEndArray(); | ||
} | ||
writer.WriteEndObject(); | ||
writer.WriteEndObject(); | ||
} | ||
} | ||
|
||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
|
||
public override bool CanConvert(Type objectType) | ||
{ | ||
return typeof(BoolFilter).IsAssignableFrom(objectType); | ||
} | ||
} | ||
} |
34 changes: 34 additions & 0 deletions
34
ElasticSearch.Client/QueryDSL/Converters/Filter/ExistsFilterConvert.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
using System; | ||
using System.Text; | ||
using Newtonsoft.Json; | ||
|
||
namespace ElasticSearch.Client.QueryDSL | ||
{ | ||
internal class ExistsFilterConverter : JsonConverter | ||
{ | ||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) | ||
{ | ||
// {"exists" : { "field" : "user" }} | ||
ExistsFilter term = (ExistsFilter)value; | ||
if (term != null) | ||
{ | ||
var stringBuilder = new StringBuilder(); | ||
stringBuilder.Append("{exists:{ \"field\" : \""); | ||
stringBuilder.Append(term.Filed); | ||
stringBuilder.Append("\"}}"); | ||
|
||
writer.WriteRawValue(stringBuilder.ToString()); | ||
} | ||
} | ||
|
||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
|
||
public override bool CanConvert(Type objectType) | ||
{ | ||
return typeof(ExistsFilter).IsAssignableFrom(objectType); | ||
} | ||
} | ||
} |
23 changes: 23 additions & 0 deletions
23
ElasticSearch.Client/QueryDSL/Converters/Filter/GeoBBoxFilterConvert.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
using System; | ||
using Newtonsoft.Json; | ||
|
||
namespace ElasticSearch.Client.QueryDSL | ||
{ | ||
internal class GeoBBoxFilterConverter : JsonConverter | ||
{ | ||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
|
||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
|
||
public override bool CanConvert(Type objectType) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
} | ||
} |
23 changes: 23 additions & 0 deletions
23
ElasticSearch.Client/QueryDSL/Converters/Filter/GeoDistanceFilterConvert.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
using System; | ||
using Newtonsoft.Json; | ||
|
||
namespace ElasticSearch.Client.QueryDSL | ||
{ | ||
internal class GeoDistanceFilterConverter : JsonConverter | ||
{ | ||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
|
||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
|
||
public override bool CanConvert(Type objectType) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
} | ||
} |
23 changes: 23 additions & 0 deletions
23
ElasticSearch.Client/QueryDSL/Converters/Filter/GeoDistanceRangeFilterConvert.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
using System; | ||
using Newtonsoft.Json; | ||
|
||
namespace ElasticSearch.Client.QueryDSL | ||
{ | ||
internal class GeoDistanceRangeFilterConverter : JsonConverter | ||
{ | ||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
|
||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
|
||
public override bool CanConvert(Type objectType) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
} | ||
} |
23 changes: 23 additions & 0 deletions
23
ElasticSearch.Client/QueryDSL/Converters/Filter/GeoPolygonFilterConvert.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
using System; | ||
using Newtonsoft.Json; | ||
|
||
namespace ElasticSearch.Client.QueryDSL | ||
{ | ||
internal class GeoPolygonFilterConverter : JsonConverter | ||
{ | ||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
|
||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
|
||
public override bool CanConvert(Type objectType) | ||
{ | ||
throw new NotImplementedException(); | ||
} | ||
} | ||
} |
Oops, something went wrong.