Skip to content

Unexpected token when deserializing object #1515

@ksujeet

Description

@ksujeet

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions