本文介紹如何通過Go SDK查詢Lastpoint索引數據。
注意事項
表格存儲Go SDK從v1.7.15版本開始支持Lastpoint索引功能。使用該功能時,請將SDK版本升級到v1.7.15及以上版本。
前提條件
已在時序表上創建Lastpoint索引。具體操作,請參見創建Lastpoint索引。
示例代碼
以下示例代碼通過調用GetRange范圍查詢接口讀取Lastpoint索引中的全部數據。
func GetRange(client *tablestore.TableStoreClient, lastpointName string) {
getRangeRequest := &tablestore.GetRangeRequest{}
rangeRowQueryCriteria := &tablestore.RangeRowQueryCriteria{}
rangeRowQueryCriteria.TableName = lastpointName
startPK := new(tablestore.PrimaryKey)
startPK.AddPrimaryKeyColumnWithMinValue("_#h")
startPK.AddPrimaryKeyColumnWithMinValue("_m_name")
startPK.AddPrimaryKeyColumnWithMinValue("_data_source")
startPK.AddPrimaryKeyColumnWithMinValue("_tags")
endPK := new(tablestore.PrimaryKey)
endPK.AddPrimaryKeyColumnWithMaxValue("_#h")
endPK.AddPrimaryKeyColumnWithMaxValue("_m_name")
endPK.AddPrimaryKeyColumnWithMaxValue("_data_source")
endPK.AddPrimaryKeyColumnWithMaxValue("_tags")
rangeRowQueryCriteria.StartPrimaryKey = startPK
rangeRowQueryCriteria.EndPrimaryKey = endPK
rangeRowQueryCriteria.Direction = tablestore.FORWARD
//設置最大版本數為1。時序表不支持數據多版本功能。
rangeRowQueryCriteria.MaxVersion = 1
getRangeRequest.RangeRowQueryCriteria = rangeRowQueryCriteria
getRangeResp, err := client.GetRange(getRangeRequest)
fmt.Println("get range result is ", getRangeResp)
for {
if err != nil {
fmt.Println("get range failed with error:", err)
}
for _, row := range getRangeResp.Rows {
fmt.Println("range get row with key", row.PrimaryKey.PrimaryKeys[0].Value, row.PrimaryKey.PrimaryKeys[1].Value, row.PrimaryKey.PrimaryKeys[2].Value)
}
if getRangeResp.NextStartPrimaryKey == nil {
break
} else {
fmt.Println("next pk is :", getRangeResp.NextStartPrimaryKey.PrimaryKeys[0].Value, getRangeResp.NextStartPrimaryKey.PrimaryKeys[1].Value, getRangeResp.NextStartPrimaryKey.PrimaryKeys[2].Value)
getRangeRequest.RangeRowQueryCriteria.StartPrimaryKey = getRangeResp.NextStartPrimaryKey
getRangeResp, err = client.GetRange(getRangeRequest)
}
fmt.Println("continue to query rows")
}
fmt.Println("range get row finished")
}
相關文檔
如果您想了解更多通過Go SDK讀取數據的方式,請參見讀取數據。
如果需要更靈活豐富的數據加速查詢方式,例如多條件組合查詢、全文檢索、前綴查詢、模糊查詢等,您可以使用Lastpoint索引的多元索引功能實現。更多信息,請參見檢索Lastpoint索引。
文檔內容是否對您有幫助?