-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Error: {"Unexpected token when deserializing object: Integer. Path 'aggregations.location.doc_count_error_upper_bound', line 1, position 185."}
StackTrace:
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateDictionary(IDictionary dictionary, JsonReader reader, JsonDictionaryContract contract, JsonProperty containerProperty, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Nest.NestSerializer.DeserializeUsingSettings[T](Stream stream, JsonSerializerSettings settings)
at Nest.NestSerializer.Deserialize[T](Stream stream)
at Nest.NestSerializer.DeserializeInternal[T](Stream stream, JsonConverter converter)
at Nest.ElasticClient.FieldsSearchDeserializer[T,TResult](IElasticsearchResponse response, Stream stream, ISearchRequest d)
at Nest.ElasticClient.<>c__DisplayClass1f92.<CreateSearchDeserializer>b__1f8(IElasticsearchResponse r, Stream s) at Elasticsearch.Net.Connection.RequestHandlers.RequestHandler.StreamToTypedResponse[T](ElasticsearchResponse1 streamResponse, ITransportRequestState requestState, Byte[] readBytes)
at Elasticsearch.Net.Connection.RequestHandlers.RequestHandler.ReturnTypedResponse[T](TransportRequestState1 requestState, ElasticsearchResponse1 streamResponse, ElasticsearchServerError& error)
at Elasticsearch.Net.Connection.RequestHandlers.RequestHandler.CoordinateRequest[T](TransportRequestState1 requestState, Int32 maxRetries, Int32 retried, Boolean& aliveResponse) at Elasticsearch.Net.Connection.RequestHandlers.RequestHandler.DoRequest[T](TransportRequestState1 requestState)
at Elasticsearch.Net.Connection.RequestHandlers.RequestHandler.Request[T](TransportRequestState1 requestState, Object data) at Elasticsearch.Net.Connection.Transport.DoRequest[T](String method, String path, Object data, IRequestParameters requestParameters) at Elasticsearch.Net.ElasticsearchClient.Search[T](Object body, Func2 requestParameters)
at Nest.ElasticClient.Search[T,TResult](Func`2 searchSelector)
at THF.CMS.Api.SearchManager.GetSearchResults(SearchRequest input) in c:\inetpub\wwwroot\THF\THF.CMS.Prod\Api\SearchManager.cs:line 62
NEST Query:
var agg = esclient.Search(s => s.Aggregations(ag => ag
.Nested("refineSearch", fi => fi.Path("refineSearch")).Filter("filtered", f => f
.Filter(fl =>
fl.Terms("multimediaReferenceList.mimeType", input.Filters.Media) ||
fl.Terms("physicalLocations.level1", input.Filters.Location) ||
fl.Terms("objectCategory", input.Filters.Type) ||
fl.Range(r => r.GreaterOrEquals(input.Years[0]).OnField(of => of.MinYear)) ||
fl.Range(ra => ra.LowerOrEquals(input.Years[1]).OnField(od => od.MaxYear)))))
.Aggregations(aa => aa
.Terms("type", tr => tr.Field("objectCategory").Size(10))
.Terms("media", trm => trm.Field("multimediaReferenceList.mimeType").Size(10))
.Terms("location", trms => trms.Field("physicalLocations.level1").Size(10)))
.SearchType(SearchType.Count));
Query DSL:
"aggs": {
"refineSearch": {
"filter": {
"bool": {
"should": [
{
"terms": {
"multimediaReferenceList.mimeType": [
"image",
"audio",
"video",
"application"
]
}
},
{
"terms": {
"physicalLocations.level1": [
"henry",
"benson"
]
}
},
{
"terms": {
"objectCategory": [
"objects",
"documents"
]
}
},
{
"range": {
"minYear": {
"gte": 1880
}
}
},
{
"range": {
"maxYear": {
"lte": 1985
}
}
}
]
}
},
"aggs": {
"media": {
"terms": {
"field": "multimediaReferenceList.mimeType",
"size": 10
}
},
"location":{
"terms": {
"field": "physicalLocations.level1",
"size": 10
}
},
"type":{
"terms": {
"field": "objectCategory",
"size": 10
}
}
}
}
}
I am trying to get this query to work but I always keep getting this exception. I am currently unable to debug further. Please help me, I already wasted a lot of time on this.