private IBucketItem GetSignificantTermItem(JsonReader reader, JsonSerializer serializer, KeyedBucketItem keyItem) { reader.Read(); var score = reader.Value as double?; reader.Read(); reader.Read(); var bgCount = reader.Value as long?; var significantTermItem = new SignificantTermsItem() { Key = keyItem.Key, DocCount = keyItem.DocCount.GetValueOrDefault(0), BgCount = bgCount.GetValueOrDefault(0), Score = score.GetValueOrDefault(0) }; reader.Read(); significantTermItem.Aggregations = this.GetNestedAggregations(reader, serializer); return significantTermItem; }
private IBucketItem GetKeyedBucketItem(JsonReader reader, JsonSerializer serializer) { var key = reader.ReadAsString(); reader.Read(); var property = reader.Value as string; if (property == "from" || property == "to") return GetRangeItem(reader, serializer, key); var keyItem = new KeyedBucketItem {Key = key}; if (property == "key_as_string") { keyItem.KeyAsString = reader.ReadAsString(); reader.Read(); } reader.Read(); //doc_count; var docCount = reader.Value as long?; keyItem.DocCount = docCount.GetValueOrDefault(0); reader.Read(); var nextProperty = reader.Value as string; if (nextProperty == "score") { return GetSignificantTermItem(reader, serializer, keyItem); } keyItem.Aggregations = this.GetNestedAggregations(reader, serializer); return keyItem; }