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

通過命令行工具使用多元索引

如果實際業務中要用到非主鍵列查詢、多條件組合查詢等多種查詢功能,您可以通過控制臺為數據表創建多元索引,然后使用多元索引查詢數據。

前提條件

  • 已下載命令行工具。具體操作,請參見下載命令行工具

  • 已啟動并配置實例。具體操作,請參見啟動并配置

  • 已獲取阿里云賬號或RAM用戶的AccessKey。具體操作,請參見獲取AccessKey

  • 已創建數據表并使用數據表。具體操作,請參見創建并使用數據表

    其中數據表的最大版本數(max Versions)必須為1,數據生命周期(Time to Live)必須滿足如下條件中的任意一個。

    • 數據表的數據生命周期為-1(數據永不過期)。

    • 數據表的數據生命周期不為-1時,數據表為禁止更新狀態(即是否允許更新)。

注意事項

  • 創建多元索引時,多元索引中字段的數據類型必須與數據表中字段的數據類型相匹配。更多信息,請參見數據類型映射

  • 如果要修改為指定數據生命周期(即取值不為-1),則您必須禁用數據表的UpdateRow更新寫入功能。同時多元索引的TTL值必須小于或等于數據表的TTL值。更多信息,請參見生命周期管理

步驟一:創建多元索引

執行create_search_index命令創建一個多元索引。

  1. 執行create_search_index命令創建一個多元索引search_index。

    create_search_index -n search_index
  2. 根據系統提示輸入索引Schema,示例如下:

    索引Schema包括IndexSetting(索引設置)、FieldSchemas(Index的所有字段的設置)和IndexSort(索引預排序設置)。關于索引Schema的更多信息,請參見創建多元索引

     {
    
        "IndexSetting": {
            "RoutingFields": null
        },
        "FieldSchemas": [
            {
                "FieldName": "gid",
                "FieldType": "LONG",
                "Index": true,
                "EnableSortAndAgg": true,
                "Store": true,
                "IsArray": false,
                "IsVirtualField": false
            },
            {
                "FieldName": "uid",
                "FieldType": "LONG",
                "Index": true,
                "EnableSortAndAgg": true,
                "Store": true,
                "IsArray": false,
                "IsVirtualField": false
            },
            {
                "FieldName": "col2",
                "FieldType": "LONG",
                "Index": true,
                "EnableSortAndAgg": true,
                "Store": true,
                "IsArray": false,
                "IsVirtualField": false
            },
            {
                "FieldName": "col3",
                "FieldType": "TEXT",
                "Index": true,
                "Analyzer": "single_word",
                "AnalyzerParameter": {
                    "CaseSensitive": true,
                    "DelimitWord": null
                },
                "EnableSortAndAgg": false,
                "Store": true,
                "IsArray": false,
                "IsVirtualField": false
            },
            {
                "FieldName": "col1",
                "FieldType": "KEYWORD",
                "Index": true,
                "EnableSortAndAgg": true,
                "Store": true,
                "IsArray": false,
                "IsVirtualField": false
            },
            {
                "FieldName": "col3V",
                "FieldType": "LONG",
                "Index": true,
                "EnableSortAndAgg": true,
                "Store": true,
                "IsArray": false,
                "IsVirtualField": true,
                "SourceFieldNames": [
                    "col3"
                ]
            }
        ]
    }

步驟二:使用多元索引查詢和分析數據

執行search命令使用多元索引查詢和分析數據。支持使用命令行工具操作的多元索引查詢類型包括精確查詢多詞精確查詢全匹配查詢匹配查詢短語匹配查詢前綴查詢范圍查詢通配符查詢模糊查詢多條件組合查詢地理位置查詢嵌套類型查詢列存在性查詢,您可以選擇合適的查詢類型進行多維度數據查詢。此處以精確查詢為例介紹。

  1. 執行search命令使用search_index多元索引查詢數據,并返回所有建立索引的列。

    search -n search_index --return_all_indexed
  2. 根據系統提示輸入查詢條件。

    以下示例用于查詢當前表中uid精確匹配10001的行數據,同時對行數據的pid列進行求平均值操作。

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "TermQuery",
            "Query": {
                "FieldName": "uid",
                "Term": 10001
            }
        },
        "Aggregations": [{
            "Name": "avg",
            "Aggregation": {
                "AggName": "agg1",
                "Field": "pid"
            }
        }]
    }

常見問題

相關文檔

  • 您還可以通過控制臺和SDK使用多元索引。具體操作,請參見通過控制臺使用多元索引通過SDK使用多元索引

  • 如果要對結果集進行排序或者翻頁,您可以使用排序和翻頁功能來實現。具體操作,請參見排序和翻頁

  • 如果要按照某一列對結果集做折疊,使對應類型的數據在結果展示中只出現一次,您可以使用折疊(去重)功能來實現。具體操作,請參見折疊(去重)

  • 如果要進行數據分析,例如求最值、求和、統計行數等,您可以使用Search接口的統計聚合功能或者SQL查詢來實現。具體操作,請參見統計聚合SQL查詢

  • 如果要讓系統能自動清理多元索引中超過保存時間的數據,您可以使用多元索引生命周期功能。具體操作,請參見生命周期管理

  • 如果要在多元索引中進行索引列增刪改、預排序修改等操作,您可以使用動態修改schema功能實現。具體操作,請參見動態修改schema

  • 如果要在不修改數據表的存儲結構和數據的情況下,對新字段新數據類型的查詢,您可以使用虛擬列功能實現。具體操作,請參見虛擬列