查询多元索引信息

更新时间:
复制 MD 格式

Java SDK 可查询多元索引的索引结构、数据同步进度、计量情况及运行状态。

前提条件

开始前,完成以下准备工作:

  • 安装Tablestore Java SDK并初始化客户端。

  • 已创建待查询的数据表和多元索引。

功能说明

调用 describeSearchIndex 方法查询指定数据表中一个多元索引的配置和运行状态。

public DescribeSearchIndexResponse describeSearchIndex(DescribeSearchIndexRequest request)

以下示例查询 example_tableexample_index 的信息,并输出索引状态、同步阶段、生命周期和字段名称。

String tableName = "example_table";
String indexName = "example_index";
DescribeSearchIndexRequest request = new DescribeSearchIndexRequest();
request.setTableName(tableName);
request.setIndexName(indexName);
request.setIncludeSyncStat(true);

DescribeSearchIndexResponse response = client.describeSearchIndex(request);
System.out.println(response.getIndexStatus().indexStatusEnum);
System.out.println(response.getSyncStat().getSyncPhase());
System.out.println(response.getTimeToLive());
for (FieldSchema fieldSchema : response.getSchema().getFieldSchemas()) {
    System.out.println(fieldSchema.getFieldName());
}

参数说明

DescribeSearchIndexRequest 包含以下参数:

名称

类型

说明

tableName(必选)

String

数据表名称。

indexName(必选)

String

多元索引名称。

includeSyncStat(可选)

Boolean

是否返回数据同步进度,默认值为 true。设置为 false 时,返回值中的 syncStatnull

返回值

DescribeSearchIndexResponse 包含以下字段:

字段

类型

说明

schema

IndexSchema

通过 getSchema() 获取索引字段、索引设置和预排序配置。对象结构请参见创建多元索引

syncStat

SyncStat

通过 getSyncStat() 获取数据同步进度。includeSyncStatfalse 时,该字段为 null

meteringInfo

MeteringInfo

通过 getMeteringInfo() 获取最近一次计量的信息。

brotherIndexName

String

通过 getBrotherIndexName() 获取关联索引名称。没有关联索引时,该字段为 null

queryFlowWeight

List<QueryFlowWeight>

通过 getQueryFlowWeight() 获取查询流量权重列表。未配置时,该字段为 null

createTime

Long

通过 getCreateTime() 获取多元索引创建时间。

indexStatus

IndexStatus

通过 getIndexStatus() 获取多元索引的运行状态和状态说明。

timeToLive

Integer

通过 getTimeToLive() 获取索引数据的生命周期,单位为秒。-1 表示数据永不过期。

数据同步进度

syncStat 的类型为 SyncStat,包含以下字段:

字段

类型

说明

syncPhase

SyncPhase

通过 getSyncPhase() 获取同步阶段。FULL 表示全量同步,INCR 表示增量同步。

currentSyncTimestamp

Long

通过 getCurrentSyncTimestamp() 获取当前同步时间戳。

计量信息

meteringInfo 的类型为 MeteringInfo,包含以下字段:

字段

类型

说明

reservedThroughput

ReservedThroughput

通过 getReservedThroughput().getCapacityUnit().getReadCapacityUnit() 获取预留读吞吐量。

storageSize

long

通过 getStorageSize() 获取最近一次计量时的索引存储量。

rowCount

long

通过 getRowCount() 获取最近一次计量时的索引总行数。

timestamp

long

通过 getTimestamp() 获取最近一次计量的时间戳。

查询流量权重

queryFlowWeight[] 中每个元素的类型为 QueryFlowWeight,包含以下字段:

字段

类型

说明

indexName

String

通过 getIndexName() 获取多元索引名称。

weight

Integer

通过 getWeight() 获取查询流量权重,取值范围为 0~100。

索引状态

indexStatus 的类型为 IndexStatus,包含以下字段:

字段

类型

说明

indexStatusEnum

IndexStatusEnum

索引状态。取值包括 PENDINGFAILEDRUNNINGUNKNOWN

statusDescription

String

索引状态说明。