1// Copyright 2023 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.cloud.talent.v4beta1;
18
19option go_package = "cloud.google.com/go/talent/apiv4beta1/talentpb;talentpb";
20option java_multiple_files = true;
21option java_outer_classname = "HistogramProto";
22option java_package = "com.google.cloud.talent.v4beta1";
23option objc_class_prefix = "CTS";
24
25// The histogram request.
26message HistogramQuery {
27  // An expression specifies a histogram request against matching resources
28  // (for example, jobs, profiles) for searches.
29  //
30  // See
31  // [SearchJobsRequest.histogram_queries][google.cloud.talent.v4beta1.SearchJobsRequest.histogram_queries]
32  // and
33  // [SearchProfilesRequest.histogram_queries][google.cloud.talent.v4beta1.SearchProfilesRequest.histogram_queries]
34  // for details about syntax.
35  string histogram_query = 1;
36}
37
38// Histogram result that matches
39// [HistogramQuery][google.cloud.talent.v4beta1.HistogramQuery] specified in
40// searches.
41message HistogramQueryResult {
42  // Requested histogram expression.
43  string histogram_query = 1;
44
45  // A map from the values of the facet associated with distinct values to the
46  // number of matching entries with corresponding value.
47  //
48  // The key format is:
49  //
50  // * (for string histogram) string values stored in the field.
51  // * (for named numeric bucket) name specified in `bucket()` function, like
52  //   for `bucket(0, MAX, "non-negative")`, the key will be `non-negative`.
53  // * (for anonymous numeric bucket) range formatted as `<low>-<high>`, for
54  //   example, `0-1000`, `MIN-0`, and `0-MAX`.
55  map<string, int64> histogram = 2;
56}
57