日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用統(tǒng)計聚合功能可以實現(xiàn)求最小值、求最大值、求和、求平均值、統(tǒng)計行數(shù)、去重統(tǒng)計行數(shù)、按字段值分組、按范圍分組、按地理位置分組、按過濾條件分組等操作;同時多個統(tǒng)計聚合功能可以組合使用,滿足復雜的查詢需求。

說明

從Python SDK 5.2.1及以上版本開始支持統(tǒng)計聚合功能。

背景信息

統(tǒng)計聚合的詳細功能請參見下表。

功能

說明

最小值

返回一個字段中的最小值,類似于SQL中的min。

最大值

返回一個字段中的最大值,類似于SQL中的max。

返回數(shù)值字段的總數(shù),類似于SQL中的sum。

平均值

返回數(shù)值字段的平均值,類似于SQL中的avg。

統(tǒng)計行數(shù)

返回指定字段值的數(shù)量或者多元索引數(shù)據(jù)總行數(shù),類似于SQL中的count。

去重統(tǒng)計行數(shù)

返回指定字段不同值的數(shù)量,類似于SQL中的count(distinct)。

百分位統(tǒng)計

百分位統(tǒng)計常用來統(tǒng)計一組數(shù)據(jù)的百分位分布情況,例如在日常系統(tǒng)運維中統(tǒng)計每次請求訪問的耗時情況時,需要關(guān)注系統(tǒng)請求耗時的P25、P50、P90、P99值等分布情況。

字段值分組

根據(jù)一個字段的值對查詢結(jié)果進行分組,相同的字段值放到同一分組內(nèi),返回每個分組的值和該值對應的個數(shù)。

說明

當分組較大時,按字段值分組可能會存在誤差。

范圍分組

根據(jù)一個字段的范圍對查詢結(jié)果進行分組,字段值在某范圍內(nèi)放到同一分組內(nèi),返回每個范圍中相應的item個數(shù)。

地理位置分組

根據(jù)距離某一個中心點的范圍對查詢結(jié)果進行分組,距離差值在某范圍內(nèi)放到同一分組內(nèi),返回每個范圍中相應的item個數(shù)。

過濾條件分組

按照過濾條件對查詢結(jié)果進行分組,獲取每個過濾條件匹配到的數(shù)量,返回結(jié)果的順序和添加過濾條件的順序一致。

直方圖統(tǒng)計

按照指定數(shù)據(jù)間隔對查詢結(jié)果進行分組,字段值在相同范圍內(nèi)放到同一分組內(nèi),返回每個分組的值和該值對應的個數(shù)。

前提條件

  • 已初始化OTSClient。具體操作,請參見初始化。
  • 已創(chuàng)建數(shù)據(jù)表并寫入數(shù)據(jù)。
  • 已在數(shù)據(jù)表上創(chuàng)建多元索引。具體操作,請參見創(chuàng)建多元索引

最小值

返回一個字段中的最小值,類似于SQL中的min。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    field

    用于統(tǒng)計聚合的字段,僅支持Long、Double和Date類型。

    missing

    當某行數(shù)據(jù)中的字段為空時,字段值的默認值。

    • 如果未設(shè)置missing值,則在統(tǒng)計聚合時會忽略該行。

    • 如果設(shè)置了missing值,則使用missing值作為字段值的默認值參與統(tǒng)計聚合。

  • 示例

    統(tǒng)計年齡為18歲的人中得分的最低分數(shù)。

    query = TermQuery('age', 18)
    agg = Min('score', name = 'min')
    
    search_response = client.search(table_name, index_name,
                                    SearchQuery(query, next_token = None, limit=0, aggs=[agg]),
                                    columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for agg_result in search_response.agg_results:
        print('{\n"name":"%s",\n"value":%s\n}\n' % (agg_result.name, str(agg_result.value)))

最大值

返回一個字段中的最大值,類似于SQL中的max。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    field

    用于統(tǒng)計聚合的字段,僅支持Long、Double和Date類型。

    missing

    當某行數(shù)據(jù)中的字段為空時,字段值的默認值。

    • 如果未設(shè)置missing值,則在統(tǒng)計聚合時會忽略該行。

    • 如果設(shè)置了missing值,則使用missing值作為字段值的默認值參與統(tǒng)計聚合。

  • 示例

    統(tǒng)計年齡為18歲的人中得分的最高分數(shù)。如果某人沒有分數(shù),則對應分數(shù)的默認值為0。

    query = TermQuery('age', 18)
    agg = Max('score', missing_value = 0, name = 'max')
    
    search_response = client.search(table_name, index_name,
                                    SearchQuery(query, next_token = None, limit=0, aggs=[agg]),
                                    columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for agg_result in search_response.agg_results:
        print('{\n"name":"%s",\n"value":%s\n}\n' % (agg_result.name, str(agg_result.value)))

返回數(shù)值字段的總數(shù),類似于SQL中的sum。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    field

    用于統(tǒng)計聚合的字段,僅支持Long和Double類型。

    missing

    當某行數(shù)據(jù)中的字段為空時,字段值的默認值。

    • 如果未設(shè)置missing值,則在統(tǒng)計聚合時會忽略該行。

    • 如果設(shè)置了missing值,則使用missing值作為字段值的默認值參與統(tǒng)計聚合。

  • 示例

    統(tǒng)計年齡為18歲的所有人得分的總和。

    query = TermQuery('age', 18)
    agg = Sum('score', name = 'sum')
    
    search_response = client.search(table_name, index_name,
                                    SearchQuery(query, next_token = None, limit=2, aggs=[agg]),
                                    columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for agg_result in search_response.agg_results:
        print('{\n"name":"%s",\n"value":%s\n}\n' % (agg_result.name, str(agg_result.value)))

平均值

返回數(shù)值字段的平均值,類似于SQL中的avg。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    field

    用于統(tǒng)計聚合的字段,僅支持Long、Double和Date類型。

    missing

    當某行數(shù)據(jù)中的字段為空時,字段值的默認值。

    • 如果未設(shè)置missing值,則在統(tǒng)計聚合時會忽略該行。

    • 如果設(shè)置了missing值,則使用missing值作為字段值的默認值參與統(tǒng)計聚合。

  • 示例

    統(tǒng)計年齡為18歲的所有人得分的平均分。

    query = TermQuery('age', 18)
    agg = Avg('score', name = 'avg')
    
    search_response = client.search(table_name, index_name,
                                    SearchQuery(query, next_token = None, limit=2, aggs=[agg]),
                                    columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for agg_result in search_response.agg_results:
        print('{\n"name":"%s",\n"value":%s\n}\n' % (agg_result.name, str(agg_result.value)))

統(tǒng)計行數(shù)

返回指定字段值的數(shù)量或者多元索引數(shù)據(jù)總行數(shù),類似于SQL中的count。

說明

通過如下方式可以統(tǒng)計多元索引數(shù)據(jù)總行數(shù)或者某個query匹配的行數(shù)。

  • 使用統(tǒng)計聚合的count功能,在請求中設(shè)置count(*)。

  • 使用query功能的匹配行數(shù),在query中設(shè)置setGetTotalCount(true);如果需要統(tǒng)計多元索引數(shù)據(jù)總行數(shù),則使用MatchAllQuery。

如果需要獲取多元索引數(shù)據(jù)某列出現(xiàn)的次數(shù),則使用count(列名),可應用于稀疏列的場景。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    field

    用于統(tǒng)計聚合的字段,僅支持Long、Double、Boolean、Keyword、Geo_point和Date類型。

  • 示例

    統(tǒng)計年齡為18歲的人中參加考試有分數(shù)的人數(shù)。

    
    query = TermQuery('age', 18)
    agg = Count('score', name = 'count')
    
    search_response = client.search(table_name, index_name,
                                    SearchQuery(query, next_token = None, limit=2, aggs=[agg]),
                                    columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for agg_result in search_response.agg_results:
        print('{\n"name":"%s",\n"value":%s\n}\n' % (agg_result.name, str(agg_result.value)))

去重統(tǒng)計行數(shù)

返回指定字段不同值的數(shù)量,類似于SQL中的count(distinct)。

說明

去重統(tǒng)計行數(shù)的計算結(jié)果是個近似值。

  • 當去重統(tǒng)計行數(shù)小于1萬時,計算結(jié)果接近精確值。

  • 當去重統(tǒng)計行數(shù)達到1億時,計算結(jié)果的誤差為2%左右。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    field

    用于統(tǒng)計聚合的字段,僅支持Long、Double、Boolean、Keyword、Geo_point和Date類型。

    missing

    當某行數(shù)據(jù)中的字段為空時,字段值的默認值。

    • 如果未設(shè)置Missing值,則在統(tǒng)計聚合時會忽略該行。

    • 如果設(shè)置了Missing值,則使用Missing值作為字段值的默認值參與統(tǒng)計聚合。

  • 示例

    去重統(tǒng)計年齡為18歲的人中一共有多少種不同的姓名。

    query = TermQuery('age', 18)
    agg = DistinctCount('name', name = 'distinct_name')
    
    search_response = client.search(table_name, index_name,
                                    SearchQuery(query, next_token = None, limit=2, aggs=[agg]),
                                    columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for agg_result in search_response.agg_results:
        print('{\n"name":"%s",\n"value":%s\n}\n' % (agg_result.name, str(agg_result.value)))

百分位統(tǒng)計

百分位統(tǒng)計常用來統(tǒng)計一組數(shù)據(jù)的百分位分布情況,例如在日常系統(tǒng)運維中統(tǒng)計每次請求訪問的耗時情況時,需要關(guān)注系統(tǒng)請求耗時的P25、P50、P90、P99值等分布情況。

說明

百分位統(tǒng)計為非精確統(tǒng)計,對不同百分位數(shù)值的計算精確度不同,較為極端的百分位數(shù)值更加準確,例如1%或99%的百分位數(shù)值會比50%的百分位數(shù)值準確。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    field

    用于統(tǒng)計聚合的字段,僅支持Long、Double和Date類型。

    percentiles

    百分位分布例如50、90、99,可根據(jù)需要設(shè)置一個或者多個百分位。

    missing_value

    當某行數(shù)據(jù)中的字段為空時,字段值的默認值。

    • 如果未設(shè)置missing_value值,則在統(tǒng)計聚合時會忽略該行。

    • 如果設(shè)置了missing_value值,則使用missing_value值作為字段值的默認值參與統(tǒng)計聚合。

  • 示例

    query = TermQuery('product', '10010')
    agg = Percentiles('latency', percentiles_list = [50, 90, 95])
    
    search_response = client.search(table_name, index_name,
                                    SearchQuery(query, next_token = None, limit=2, aggs=[agg]),
                                    columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for agg_result in search_response.agg_results:
        print('percentiles:%s' % agg_result.name)
        for item in agg_result.value:
            print('%s:%s' % (str(item.key), str(item.value)))

字段值分組

根據(jù)一個字段的值對查詢結(jié)果進行分組,相同的字段值放到同一分組內(nèi),返回每個分組的值和該值對應的個數(shù)。

說明

當分組較大時,按字段值分組可能會存在誤差。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    field

    用于統(tǒng)計聚合的字段,僅支持Long、Double、Boolean、Keyword和Date類型。

    size

    返回的分組數(shù)量,默認值為10。最大值為2000。當分組數(shù)量超過2000時,只會返回前2000個分組。

    group_by_sort

    分組中的item排序規(guī)則,默認按照分組中item的數(shù)量降序排序,多個排序則按照添加的順序進行排列。支持的參數(shù)如下:

    • 按照值的字典序升序排列

    • 按照值的字典序降序排列

    • 按照行數(shù)升序排列

    • 按照行數(shù)降序排列

    • 按照子統(tǒng)計聚合結(jié)果中值升序排列

    • 按照子統(tǒng)計聚合結(jié)果中值降序排列

    sub_aggs和sub_group_bys

    子統(tǒng)計聚合,子統(tǒng)計聚合會根據(jù)分組內(nèi)容再進行一次統(tǒng)計聚合分析。

    • 場景

      統(tǒng)計每個類別的商品數(shù)量,且統(tǒng)計每個類別價格的最大值和最小值。

    • 方法

      最外層的統(tǒng)計聚合是根據(jù)類別進行分組,再添加兩個子統(tǒng)計聚合求價格的最大值和最小值。

    • 結(jié)果示例

      • 水果:5個(其中價格的最大值為15,最小值為3)

      • 洗漱用品:10個(其中價格的最大值為98,最小值為1)

      • 電子設(shè)備:3個(其中價格的最大值為8699,最小值為2300)

      • 其它:15個(其中價格的最大值為1000,最小值為80)

  • 示例1

    將年齡為18歲的人按分數(shù)分組,并獲取人數(shù)最多的10個分數(shù)值以及每個分數(shù)的人數(shù)。

    query = TermQuery('age', 18)
    group_by = GroupByField('score', size = 10)
    
    search_response = client.search(table_name, index_name,
                                    SearchQuery(query, next_token = None, limit=20, group_bys = [group_by]),
                                    columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for group_by in search_response.group_by_results:
        print("name:%s" % group_by.name)
        print("groups:")
        for item in group_by.items:
            print("key:%s, count:%d" % (item.key, item.row_count))
  • 示例2

    將年齡為18歲的人按分數(shù)分組,并獲取人數(shù)最少的2個分數(shù)值以及每個分數(shù)的人數(shù)。

    group_by = GroupByField('score', size = 2, group_by_sort = [RowCountSort(sort_order=SortOrder.ASC)])
    search_response = client.search(table_name, index_name,
                                    SearchQuery(TermQuery('age', 18), limit=100, get_total_count=True, group_bys = [group_by]),
                                    ColumnsToGet(return_type=ColumnReturnType.ALL_FROM_INDEX))
    
    for group_by in search_response.group_by_results:
        print("name:%s" % group_by.name)
        print("groups:")
        for item in group_by.items:
            print("key:%s, count:%d" % (item.key, item.row_count))
  • 示例3

    將年齡為18歲的人按分數(shù)分組,并獲取人數(shù)最多的2個分數(shù)值、每個分數(shù)的人數(shù)以及按主鍵排序前三的人的信息。

    sort = RowCountSort(sort_order = SortOrder.DESC)
    sub_agg = [TopRows(limit=3,sort=Sort([PrimaryKeySort(sort_order=SortOrder.DESC)]), name = 't1')]
    
    group_by = GroupByField('l', size = 2, group_by_sort = [sort], sub_aggs = sub_agg)
    search_response = client.search(table_name, index_name,
                                    SearchQuery(TermQuery('age', 18), limit=100, get_total_count=True, group_bys = [group_by]),
                                    ColumnsToGet(return_type=ColumnReturnType.ALL_FROM_INDEX))
    
    for group_by in search_response.group_by_results:
        print("name:%s" % group_by.name)
        print("groups:")
        for item in group_by.items:
            print("\tkey:%s, count:%d" % (item.key, item.row_count))
            for sub_agg in item.sub_aggs:
                print("\t\tname:%s:" % sub_agg.name)
                for entry in sub_agg.value:
                    print("\t\t\tvalue:%s" % str(entry))
  • 示例4

    將年齡為18歲的人按分數(shù)和性別分組。

    sort = RowCountSort(sort_order = SortOrder.ASC)
    sub_group = GroupByField('sex', size = 10, group_by_sort = [sort])
    
    group_by = GroupByField('score', size = 10, group_by_sort = [sort], sub_group_bys = [sub_group])
    search_response = client.search(table_name, index_name,
                                    SearchQuery(TermQuery('age', 18), limit=100, get_total_count=True, group_bys = [group_by]),
                                    ColumnsToGet(return_type=ColumnReturnType.ALL_FROM_INDEX))
    
    for group_by in search_response.group_by_results:
        print("name:%s" % group_by.name)
        print("groups:")
        for item in group_by.items:
            print("\tkey:%s, count:%d" % (item.key, item.row_count))
            for sub_group in item.sub_group_bys:
                print("\t\tname:%s:" % sub_group.name)
                for sub_item in sub_group.items:
                    print("\t\t\tkey:%s, count:%s" % (str(sub_item.key), str(sub_item.row_count)))

范圍分組

根據(jù)一個字段的范圍對查詢結(jié)果進行分組,字段值在某范圍內(nèi)放到同一分組內(nèi),返回每個范圍中相應的item個數(shù)。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    field

    用于統(tǒng)計聚合的字段,僅支持Long和Double類型。

    range[double_from, double_to)

    分組的范圍。

    起始值double_from可以使用最小值Double.MIN_VALUE,結(jié)束值double_to可以使用最大值Double.MAX_VALUE。

    sub_aggs和sub_group_bys

    子統(tǒng)計聚合,子統(tǒng)計聚合會根據(jù)分組內(nèi)容再進行一次統(tǒng)計聚合分析。

    例如按銷量分組后再按省份分組,即可獲得某個銷量范圍內(nèi)哪個省比重比較大,實現(xiàn)方法是GroupByRange下添加一個GroupByField。

  • 示例

    統(tǒng)計年齡為18歲的人中得分的分數(shù)在[80, 90)[90, 100)兩個區(qū)間段的人數(shù)。

    query = TermQuery('age', 18)
    group_by = GroupByRange(field_name = 'score', ranges = [(80, 90),(90, 100)])
    
    search_response = client.search(table_name, index_name,
                                    SearchQuery(query, next_token = None, limit=0, group_bys = [group_by]),
                                    columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for group_by in search_response.group_by_results:
        print("name:%s" % group_by.name)
        print("groups:")
        for item in group_by.items:
            print("range:%.1f~%.1f, count:%d" % (item.range_from, item.range_to, item.row_count))

地理位置分組

根據(jù)距離某一個中心點的范圍對查詢結(jié)果進行分組,距離差值在某范圍內(nèi)放到同一分組內(nèi),返回每個范圍中相應的item個數(shù)。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    field

    用于統(tǒng)計聚合的字段,僅支持Geo_point類型。

    origin(double lat, double lon)

    起始中心點的經(jīng)緯度。

    lat是起始中心點坐標緯度,lon是起始中心點坐標經(jīng)度。

    range[double_from, double_to)

    分組的范圍,單位為米。

    起始值double_from可以使用最小值Double.MIN_VALUE,結(jié)束值double_to可以使用最大值Double.MAX_VALUE。

    sub_aggs和sub_group_bys

    子統(tǒng)計聚合,子統(tǒng)計聚合會根據(jù)分組內(nèi)容再進行一次統(tǒng)計聚合分析。

  • 示例

    統(tǒng)計年齡為18歲的人中家庭住址在距離學校一公里以內(nèi)和一公里到兩公里內(nèi)的人數(shù)。其中學校經(jīng)緯度為(31,116)。

    query = TermQuery('age', 18)
    group_by = GroupByGeoDistance(field_name = 'address', origin=GeoPoint(31, 116), ranges = [(0, 1000), (1000,2000)])
    
    search_response = client.search(table_name, index_name,
                                    SearchQuery(query, next_token = None, limit=2, group_bys = [group_by]),
                                    columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for group_by in search_response.group_by_results:
        print("name:%s" % group_by.name)
        print("groups:")
        for item in group_by.items:
            print("range:%.1f~%.1f, count:%d" % (item.range_from, item.range_to, item.row_count))

過濾條件分組

按照過濾條件對查詢結(jié)果進行分組,獲取每個過濾條件匹配到的數(shù)量,返回結(jié)果的順序和添加過濾條件的順序一致。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    filter

    過濾條件,返回結(jié)果的順序和添加過濾條件的順序一致。

    sub_aggs和sub_group_bys

    子統(tǒng)計聚合,子統(tǒng)計聚合會根據(jù)分組內(nèi)容再進行一次統(tǒng)計聚合分析。

  • 示例

    分別統(tǒng)計年齡為18歲的人中數(shù)學考了100分和語文考了100分的人數(shù)。

    query = TermQuery('age', 18)
    filter1 = TermQuery('math', 100)
    filter2 = TermQuery('chinese', 100)
    filters = [filter1, filter2]
    group_by = GroupByFilter(filters)
    
    search_response = client.search(
        table_name, index_name,
        SearchQuery(query, next_token = None, limit=2, group_bys = [group_by]),
        columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for group_by in search_response.group_by_results:
        print("name:%s" % group_by.name)
        print("groups:")
        i = 0
        for item in group_by.items:
            print("filter:%s=%s, count:%d" % (str(filters[i].field_name), str(filters[i].column_value), item.row_count))
            i=i+1

直方圖統(tǒng)計

按照指定數(shù)據(jù)間隔對查詢結(jié)果進行分組,字段值在相同范圍內(nèi)放到同一分組內(nèi),返回每個分組的值和該值對應的個數(shù)。

  • 參數(shù)

    參數(shù)

    說明

    name

    自定義的統(tǒng)計聚合名稱,用于區(qū)分不同的統(tǒng)計聚合,可根據(jù)此名稱獲取本次統(tǒng)計聚合結(jié)果。

    field

    用于統(tǒng)計聚合的字段,僅支持Long和Double類型。

    interval

    統(tǒng)計間隔。

    field_range[min,max]

    統(tǒng)計范圍,與interval參數(shù)配合使用限制分組的數(shù)量。(fieldRange.max-fieldRange.min)/interval的值不能超過2000。

    min_doc_count

    最小行數(shù)。當分組中的行數(shù)小于最小行數(shù)時,不會返回此分組的統(tǒng)計結(jié)果。

    missing_value

    當某行數(shù)據(jù)中的字段為空時,字段值的默認值。

    • 如果未設(shè)置missing_value值,則在統(tǒng)計聚合時會忽略該行。

    • 如果設(shè)置了missing_value值,則使用missing_value值作為字段值的默認值參與統(tǒng)計聚合。

  • 示例

    query = TermQuery('product', '10010')
    group_by = GroupByHistogram(field_name = 'latency', interval = 100, field_range = FieldRange(0, 10000), missing_value = 0)
    
    search_response = client.search(table_name, index_name,
                                    SearchQuery(query, next_token = None, limit=2, group_bys = [group_by]),
                                    columns_to_get = ColumnsToGet(return_type = ColumnReturnType.ALL_FROM_INDEX))
    
    for group_by in search_response.group_by_results:
        print("name:%s" % group_by.name)
        print("groups:")
        for item in group_by.items:
            print("%s:%s" % (item.key, item.value))