多元索引可以加速Lastpoint索引數據的檢索,并提供多維查詢和統計分析功能。本文介紹如何在Lastpoint索引中使用多元索引功能。
背景信息
多元索引(Search Index)基于倒排索引和列式存儲,可以解決大數據的多維查詢和統計分析難題。當查詢Lastpoint索引數據的場景中有非主鍵列查詢、多列組合查詢、模糊查詢、全文檢索和向量檢索等復雜查詢需求以及求最值、統計行數、數據分組等數據分析需求時,您可以將這些屬性作為多元索引中的字段并使用多元索引查詢與分析數據。
前提條件
已在時序表上創建Lastpoint索引。具體操作,請參見創建Lastpoint索引。
使用方式
您可以在時序表管理的Lastpoint索引區域創建、刪除、查看多元索引,以及使用多元索引檢索Lastpoint索引數據。
創建多元索引
進入實例管理頁面。
登錄表格存儲控制臺。
在頁面上方,選擇資源組和地域。
在概覽頁面,單擊實例名稱或者單擊實例操作列的實例管理。
進入時序表管理頁面。
在實例管理頁面,單擊時序表列表頁簽。
在時序表列表頁簽,單擊時序表名或者單擊時序表操作列的數據管理。
為Lastpoint索引創建多元索引。
在基本詳情頁簽的Lastpoint索引區域,單擊Lastpoint索引的多元索引列的創建多元索引。
在創建多元索引對話框中,創建多元索引。
系統默認會自動生成索引名,可根據需要設置索引名。
選擇Schema生成方式。
重要字段名和字段類型需與Lastpoint索引表匹配。Lastpoint索引表字段類型與多元索引字段類型的對應關系請參見基礎數據類型及映射。
當設置Schema生成方式為手動錄入時,手動輸入字段名,選擇字段類型以及設置是否開啟數組。
當設置Schema生成方式為自動生成時,系統會自動將Lastpoint索引表的字段作為索引字段,可根據需要選擇字段類型以及設置是否開啟數組。
說明虛擬列可以在不修改表結構的情況下將表中的列映射到多元索引的一個或多個虛擬列,可以用于查詢加速或采用不同的分詞器。如果您想詳細了解虛擬列的功能和使用方法,請參見虛擬列。
如果需要配置數據生命周期、路由鍵、索引預排序等選項,請打開高級選項開關,并根據下表說明配置參數。
參數
說明
路由鍵
自定義路由字段。可以選擇部分主鍵列作為路由字段,在進行索引數據寫入時,表格存儲會根據路由字段的值計算索引數據的分布位置,路由字段的值相同的記錄會被索引到相同的數據分區中。
數據生命周期
多元索引中數據的保存時間,單位為秒。默認值為-1,表示數據永不過期。
數據生命周期的取值最低為86400秒(一天),也可設置為-1(永不過期)。
如果需要系統自動清理多元索引中的歷史數據,您可以配置數據生命周期為指定時間。當數據的保存時間超過設置的數據生命周期時,系統會自動清理超過數據生命周期的數據。
預排序
多元索引默認按照設置的索引預排序方式進行排序,用于確定數據的默認返回順序。
索引預排序只支持按照主鍵排序和按照字段值排序兩種方式。如果未自定義預排序,則默認為主鍵排序,您可以根據實際查詢場景指定預排序方式。
重要含有Nested類型字段的多元索引不支持索引預排序。
單擊確定。
通過多元索引檢索數據
在基本詳情頁簽的Lastpoint索引區域,單擊Lastpoint索引的多元索引列的搜索。
在查詢數據對話框,查詢數據。
系統默認返回所有列,如需顯示指定屬性列,關閉獲取所有列并輸入需要返回的屬性列,多個屬性列之間用半角逗號(,)隔開。
說明系統默認會返回Lastpoint索引表的主鍵列。
根據需要選擇邏輯操作符為 And、Or 或者 Not。
當選擇邏輯操作符為 And 時,返回滿足指定條件的數據。當選擇邏輯操作符為 Or 時,如果配置了單個條件,則返回滿足指定條件的數據;如果配置了多個條件,則返回滿足任意一個條件的數據。當選擇邏輯操作符為 Not 時,返回不滿足指定條件的數據。
選擇索引字段,單擊添加,并設置索引字段的查詢類型和輸入要查詢的值。
說明如果需要添加多個要查詢的值,請多次執行填寫值并單擊增加的操作來完成添加。
系統默認關閉排序功能,如需根據指定字段對返回結果進行排序,打開是否排序開關后,根據需要添加要進行排序的字段并配置排序方式。
系統默認關閉統計功能,如需對指定字段進行數據統計,打開是否統計開關后,根據需要添加要進行統計的字段和配置統計信息。
單擊確定。
符合查詢條件的數據和統計結果將顯示在基本詳情頁簽的Lastpoint索引區域中。
管理多元索引
創建多元索引后,請根據需要執行相應操作。
操作 | 說明 |
查看索引詳情 | 查看多元索引的索引基本信息、索引計量、路由鍵、索引字段和預排序等信息。
|
刪除多元索引 | 如果不再需要多元索引時,您可以刪除多元索引。
|
開發集成
您可以使用以下語言的SDK在Lastpoint索引中使用多元索引功能。
計費信息
常見問題
附錄:樣例場景
在車聯網場景中,車輛通過傳感器上報時序數據到云端。通過存儲、查詢和分析這些時序數據,用戶可以實現車況報告、車輛定位、交通管理和軌跡投屏等業務需求。
假設時序表的數據示例如下:
其中_m_name
、_data_source
和_tags
為時間線標識,分別代表度量名稱、數據源和時間線的標簽信息,_time
為數據上報時間。gps
、speed
、status
、total_mileage
和remaining_mileage
為時間線的時序數據,分別代表車輛GPS坐標、車輛速度、車輛狀態、車輛總里程和車輛剩余里程。
_m_name | _data_source | _tags | _time | gps | speed | status | total_mileage | remaining_mileage |
平臺A | sensor1 | ["region=hangzhou","car_model=sedan","number_plate=浙AD7512*","color=white"] | 1730422800000000 | 30.245853,120.178564 | 0 | 閑置 | 20000 | 450 |
平臺A | sensor1 | ["region=hangzhou","car_model=sedan","number_plate=浙AD7512*","color=white"] | 1730423400000000 | 30.245853,120.178564 | 0 | 閑置 | 20000 | 450 |
平臺A | sensor2 | ["region=hangzhou","car_model=suv","number_plate=浙C72B2*","color=black"] | 1730779200000000 | 30.245278,120.150269 | 50 | 使用中 | 15000 | 300 |
平臺A | sensor2 | ["region=hangzhou","car_model=suv","number_plate=浙C72B2*","color=black"] | 1730779800000000 | 30.245853,120.213654 | 80 | 使用中 | 15050 | 250 |
平臺B | sensor3 | ["region=hangzhou","car_model=sedan","number_plate=浙B121*9","color=blue"] | 1730862000000000 | 30.246013,120.124470 | 60 | 使用中 | 18200 | 300 |
平臺B | sensor3 | ["region=hangzhou","car_model=sedan","number_plate=浙B121*9","color=blue"] | 1730862600000000 | 30.246022,120.124460 | 0 | 閑置 | 18230 | 270 |
表格存儲會自動同步時序表中時間線的最新時間點數據到Lastpoint索引表,Lastpoint索引中的數據示例如下:
_#h | _m_name | _data_source | _tags | _time | gps | speed | status | total_mileage | remaining_mileage |
4c#平臺A#07 | 平臺A | sensor1 | ["region=hangzhou","car_model=sedan","number_plate=浙AD7512*","color=white"] | 1730423400000000 | 30.245853,120.178564 | 0 | 閑置 | 20000 | 450 |
25#平臺A#ae | 平臺A | sensor2 | ["region=hangzhou","car_model=suv","number_plate=浙C72B2*","color=black"] | 1730779800000000 | 30.245853,120.213654 | 80 | 使用中 | 15050 | 250 |
b2#平臺B#4b | 平臺B | sensor3 | ["region=hangzhou","car_model=sedan","number_plate=浙B121*9","color=blue"] | 1730862600000000 | 30.246022,120.124460 | 0 | 閑置 | 18230 | 270 |
假設存在以下查詢需求,您可以為Lastpoint索引創建多元索引后,充分利用多元索引的功能進行查詢。
查詢當前處于閑置狀態且剩余里程超過300公里的車輛。
查詢指定區域內的車輛。
查詢當前處于使用中狀態的車輛最大速度。
創建多元索引。
多元索引字段包括
gps
、speed
、status
、和remaining_mileage
字段,分別代表車輛GPS坐標、車輛速度、車輛狀態和車輛剩余里程。使用多元索引功能查詢數據,具體實現方式可參見下表。
查詢需求 | 實現方式 |
查詢當前處于閑置狀態且剩余里程超過300公里的車輛。 | 通過多元索引進行精確查詢與范圍查詢的組合查詢, |
查詢指定區域內的車輛。 | 通過多元索引進行地理位置查詢, |
查詢當前處于使用中狀態的車輛最大速度。 | 通過多元索引進行匹配查詢和統計聚合, |
如果您想了解更多關于多元索引的功能和查詢方式,請參見多元索引功能。