多元索引可以加速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公里的车辆。 | 通过多元索引进行精确查询与范围查询的组合查询, |
查询指定区域内的车辆。 | 通过多元索引进行地理位置查询, |
查询当前处于使用中状态的车辆最大速度。 | 通过多元索引进行匹配查询和统计聚合, |
如果您想了解更多关于多元索引的功能和查询方式,请参见多元索引功能。