NEST 2.3.2를 사용 중입니다. 그리고 중첩 된 집계를 사용하여 쿼리를 작성하려고합니다. 기본적으로 타임 스탬프와 결과 코드가있는 로그가있는 인덱스가 있습니다. 먼저 해당 로그를 몇 분의 버킷에 넣고 결과 코드에 따라 분류합니다.중첩 집계가있는 Elasticsearch NEST 클라이언트
쿼리를 생성하는 데 다음과 같은 F # 코드가 있습니다. 내가 요청을 인쇄 할 때
/// Generate an aggregation to put buckets by result code
let generateAggregationByResultCode() =
let resultAggregationName = "result_aggregation"
let aggregationByResults = new TermsAggregation(resultAggregationName)
aggregationByResults.Field <- new Field(Name = "Result")
aggregationByResults.ExecutionHint <- new Nullable<TermsAggregationExecutionHint>(TermsAggregationExecutionHint.GlobalOrdinals);
aggregationByResults.MinimumDocumentCount <- new Nullable<int>(0);
aggregationByResults.Size <- new Nullable<int>(bucketSize);
aggregationByResults.Missing <- "-128"
aggregationByResults
/// Generate an aggregation to classify into buckets by minutes and then by result code
let generateNewDateHistogramByMinute() =
let dateHistogramByMinute = new DateHistogramAggregation("by_minute")
dateHistogramByMinute.Field <- new Field(Name = "OperationTime")
dateHistogramByMinute.Interval <- new Union<DateInterval, Time>(DateInterval.Minute) // can also use TimeSpan.FromMinutes(1.0)
dateHistogramByMinute.MinimumDocumentCount <- new Nullable<int>(0)
dateHistogramByMinute.Format <- "strict_date_hour_minute"
let innerAggregations = new AggregationDictionary()
innerAggregations.[resultInnerAggregationName] <- new AggregationContainer(Terms = generateAggregationByResultCode())
dateHistogramByMinute.Aggregations <- innerAggregations
dateHistogramByMinute
내가
let dateHistogram = generateNewDateHistogramByMinute()
let aggregations = new AggregationDictionary()
aggregations.[histogramName] <- new AggregationContainer(DateHistogram = dateHistogram)
(* ... code omitted ... *)
dslRequest.Aggregations <- aggregations
하여 요청을 설정하려면이 집계를 사용하여 집계 부분은 내부 집계가 완전히 손실이
"aggs": {
"BucketsByMinutes": {
"date_histogram": {
"field": "OperationTime",
"interval": "minute",
"format": "strict_date_hour_minute",
"min_doc_count": 0
}
}
}
같다. 아무도 제대로 요청을 구성해야합니다 어떻게 알 수 있습니까? 응답이 반환되면 내부 버킷을 어떻게 검색합니까? 적절한 속성이나 메서드를 찾지 못했고 기본적으로 문서가 존재하지 않습니다.
2.x 설명서는 https://www.elastic.co/guide/en/elasticsearch/client/net-api/2.x/index.html에서 보았습니까? –
@RussCam 솔루션을 검색하는 동안 그 점을 발견했지만 도움이되지 않았습니다. 링크 주셔서 감사합니다. – LLS