optimize redis test data lua shell
This commit is contained in:
parent
b99c03296a
commit
46e72ce588
|
|
@ -4,21 +4,37 @@ package constants
|
|||
const (
|
||||
// RedisAllGridSetKey define redis set key which store all grid keys
|
||||
RedisAllGridSetKey = "grid_keys"
|
||||
// RedisSpecGridZoneSetKey define redis set key which store all zone keys under specific grid
|
||||
RedisSpecGridZoneSetKey = "grid_%s_zones_keys"
|
||||
|
||||
// RedisAllZoneSetKey define redis set key which store all zone keys
|
||||
RedisAllZoneSetKey = "zone_keys"
|
||||
// RedisSpecZoneStationSetKey define redis set key which store all station keys under specific zone
|
||||
RedisSpecZoneStationSetKey = "zone_%s_stations_keys"
|
||||
|
||||
// RedisAllStationSetKey define redis set key which store all station keys
|
||||
RedisAllStationSetKey = "station_keys"
|
||||
// RedisSpecStationComponentSetKey define redis set key which store all component keys under specific station
|
||||
RedisSpecStationComponentSetKey = "station_%s_components_keys"
|
||||
|
||||
// RedisAllComponentSetKey define redis set key which store all component keys
|
||||
RedisAllComponentSetKey = "component_keys"
|
||||
// RedisSpecComponentSetKey define redis set key which store all component keys under specific zone
|
||||
RedisSpecComponentSetKey = "zone_%s_components_keys"
|
||||
// RedisAllCompNSPathSetKey define redis set key which store all component nspath keys
|
||||
RedisAllCompNSPathSetKey = "component_nspath_keys"
|
||||
|
||||
// RedisAllCompTagSetKey define redis set key which store all component tag keys
|
||||
RedisAllCompTagSetKey = "component_tag_keys"
|
||||
|
||||
// RedisAllConfigSetKey define redis set key which store all config keys
|
||||
RedisAllConfigSetKey = "config_keys"
|
||||
|
||||
// RedisAllMeasTagSetKey define redis set key which store all measurement tag keys
|
||||
RedisAllMeasTagSetKey = "measurement_tag_keys"
|
||||
|
||||
// RedisSpecGridZoneSetKey define redis set key which store all zone keys under specific grid
|
||||
RedisSpecGridZoneSetKey = "%s_zones_keys"
|
||||
|
||||
// RedisSpecZoneStationSetKey define redis set key which store all station keys under specific zone
|
||||
RedisSpecZoneStationSetKey = "%s_stations_keys"
|
||||
|
||||
// RedisSpecStationCompNSPATHSetKey define redis set key which store all component nspath keys under specific station
|
||||
RedisSpecStationCompNSPATHSetKey = "%s_components_nspath_keys"
|
||||
|
||||
// RedisSpecStationCompTagSetKey define redis set key which store all component tag keys under specific station
|
||||
RedisSpecStationCompTagSetKey = "%s_components_tag_keys"
|
||||
|
||||
// RedisSpecCompTagMeasSetKey define redis set key which store all measurement keys under specific component tag
|
||||
RedisSpecCompTagMeasSetKey = "%s_measurement_keys"
|
||||
)
|
||||
|
|
|
|||
784
deploy/deploy.md
784
deploy/deploy.md
|
|
@ -172,25 +172,777 @@ VALUES (
|
|||
Redis数据脚本
|
||||
|
||||
```Lua
|
||||
redis.call('SADD', 'grid_keys', 'transformfeeder1_220', 'transformfeeder1_220_35', 'transformfeeder1_220_36')
|
||||
redis.call('SADD', 'grid_transformfeeder1_220_zones_keys', 'I_A_rms', 'I_B_rms', 'I_C_rms')
|
||||
redis.call('SADD', 'grid_transformfeeder1_220_35_zones_keys', 'I_A_rms', 'I_B_rms', 'I_C_rms')
|
||||
redis.call('SADD', 'grid_transformfeeder1_220_36_zones_keys', 'I_A_rms', 'I_B_rms', 'I_C_rms')
|
||||
redis.call('SADD', 'grid_keys', 'grid1', 'grid2', 'grid3')
|
||||
redis.call('SADD', 'zone_keys', 'zone1_1', 'zone1_2', 'zone1_3', 'zone2_1', 'zone2_2', 'zone2_3', 'zone3_1', 'zone3_2', 'zone3_3')
|
||||
redis.call('SADD', 'station_keys', 'station1_1_1', 'station1_1_2', 'station1_1_3', 'station1_2_1', 'station1_2_2', 'station1_2_3', 'station1_3_1', 'station1_3_2', 'station1_3_3')
|
||||
redis.call('SADD', 'station_keys', 'station2_1_1', 'station2_1_2', 'station2_1_3', 'station2_2_1', 'station2_2_2', 'station2_2_3', 'station2_3_1', 'station2_3_2', 'station2_3_3')
|
||||
redis.call('SADD', 'station_keys', 'station3_1_1', 'station3_1_2', 'station3_1_3', 'station3_2_1', 'station3_2_2', 'station3_2_3', 'station3_3_1', 'station3_3_2', 'station3_3_3')
|
||||
|
||||
redis.call('SADD', 'component_nspath_keys',
|
||||
-- 对应 station1_1_1
|
||||
'ns1_1_1_1', 'ns1_1_1_2', 'ns1_1_1_3',
|
||||
-- 对应 station1_1_2
|
||||
'ns1_1_2_1', 'ns1_1_2_2', 'ns1_1_2_3',
|
||||
-- 对应 station1_1_3
|
||||
'ns1_1_3_1', 'ns1_1_3_2', 'ns1_1_3_3',
|
||||
-- 对应 station1_2_1
|
||||
'ns1_2_1_1', 'ns1_2_1_2', 'ns1_2_1_3',
|
||||
-- 对应 station1_2_2
|
||||
'ns1_2_2_1', 'ns1_2_2_2', 'ns1_2_2_3',
|
||||
-- 对应 station1_2_3
|
||||
'ns1_2_3_1', 'ns1_2_3_2', 'ns1_2_3_3',
|
||||
-- 对应 station1_3_1
|
||||
'ns1_3_1_1', 'ns1_3_1_2', 'ns1_3_1_3',
|
||||
-- 对应 station1_3_2
|
||||
'ns1_3_2_1', 'ns1_3_2_2', 'ns1_3_2_3',
|
||||
-- 对应 station1_3_3
|
||||
'ns1_3_3_1', 'ns1_3_3_2', 'ns1_3_3_3'
|
||||
)
|
||||
|
||||
redis.call('SADD', 'component_nspath_keys',
|
||||
-- 对应 station2_1_1
|
||||
'ns2_1_1_1', 'ns2_1_1_2', 'ns2_1_1_3',
|
||||
-- 对应 station2_1_2
|
||||
'ns2_1_2_1', 'ns2_1_2_2', 'ns2_1_2_3',
|
||||
-- 对应 station2_1_3
|
||||
'ns2_1_3_1', 'ns2_1_3_2', 'ns2_1_3_3',
|
||||
-- 对应 station2_2_1
|
||||
'ns2_2_1_1', 'ns2_2_1_2', 'ns2_2_1_3',
|
||||
-- 对应 station2_2_2
|
||||
'ns2_2_2_1', 'ns2_2_2_2', 'ns2_2_2_3',
|
||||
-- 对应 station2_2_3
|
||||
'ns2_2_3_1', 'ns2_2_3_2', 'ns2_2_3_3',
|
||||
-- 对应 station2_3_1
|
||||
'ns2_3_1_1', 'ns2_3_1_2', 'ns2_3_1_3',
|
||||
-- 对应 station2_3_2
|
||||
'ns2_3_2_1', 'ns2_3_2_2', 'ns2_3_2_3',
|
||||
-- 对应 station2_3_3
|
||||
'ns2_3_3_1', 'ns2_3_3_2', 'ns2_3_3_3'
|
||||
)
|
||||
|
||||
redis.call('SADD', 'component_nspath_keys',
|
||||
-- 对应 station3_1_1
|
||||
'ns3_1_1_1', 'ns3_1_1_2', 'ns3_1_1_3',
|
||||
-- 对应 station3_1_2
|
||||
'ns3_1_2_1', 'ns3_1_2_2', 'ns3_1_2_3',
|
||||
-- 对应 station3_1_3
|
||||
'ns3_1_3_1', 'ns3_1_3_2', 'ns3_1_3_3',
|
||||
-- 对应 station3_2_1
|
||||
'ns3_2_1_1', 'ns3_2_1_2', 'ns3_2_1_3',
|
||||
-- 对应 station3_2_2
|
||||
'ns3_2_2_1', 'ns3_2_2_2', 'ns3_2_2_3',
|
||||
-- 对应 station3_2_3
|
||||
'ns3_2_3_1', 'ns3_2_3_2', 'ns3_2_3_3',
|
||||
-- 对应 station3_3_1
|
||||
'ns3_3_1_1', 'ns3_3_1_2', 'ns3_3_1_3',
|
||||
-- 对应 station3_3_2
|
||||
'ns3_3_2_1', 'ns3_3_2_2', 'ns3_3_2_3',
|
||||
-- 对应 station3_3_3
|
||||
'ns3_3_3_1', 'ns3_3_3_2', 'ns3_3_3_3'
|
||||
)
|
||||
|
||||
redis.call('SADD', 'component_tag_keys',
|
||||
'cmptag1_1_1_1_1', 'cmptag1_1_1_1_2', 'cmptag1_1_1_1_3',
|
||||
'cmptag1_1_1_2_1', 'cmptag1_1_1_2_2', 'cmptag1_1_1_2_3',
|
||||
'cmptag1_1_1_3_1', 'cmptag1_1_1_3_2', 'cmptag1_1_1_3_3',
|
||||
'cmptag1_1_2_1_1', 'cmptag1_1_2_1_2', 'cmptag1_1_2_1_3',
|
||||
'cmptag1_1_2_2_1', 'cmptag1_1_2_2_2', 'cmptag1_1_2_2_3',
|
||||
'cmptag1_1_2_3_1', 'cmptag1_1_2_3_2', 'cmptag1_1_2_3_3',
|
||||
'cmptag1_1_3_1_1', 'cmptag1_1_3_1_2', 'cmptag1_1_3_1_3',
|
||||
'cmptag1_1_3_2_1', 'cmptag1_1_3_2_2', 'cmptag1_1_3_2_3',
|
||||
'cmptag1_1_3_3_1', 'cmptag1_1_3_3_2', 'cmptag1_1_3_3_3',
|
||||
|
||||
'cmptag1_2_1_1_1', 'cmptag1_2_1_1_2', 'cmptag1_2_1_1_3',
|
||||
'cmptag1_2_1_2_1', 'cmptag1_2_1_2_2', 'cmptag1_2_1_2_3',
|
||||
'cmptag1_2_1_3_1', 'cmptag1_2_1_3_2', 'cmptag1_2_1_3_3',
|
||||
'cmptag1_2_2_1_1', 'cmptag1_2_2_1_2', 'cmptag1_2_2_1_3',
|
||||
'cmptag1_2_2_2_1', 'cmptag1_2_2_2_2', 'cmptag1_2_2_2_3',
|
||||
'cmptag1_2_2_3_1', 'cmptag1_2_2_3_2', 'cmptag1_2_2_3_3',
|
||||
'cmptag1_2_3_1_1', 'cmptag1_2_3_1_2', 'cmptag1_2_3_1_3',
|
||||
'cmptag1_2_3_2_1', 'cmptag1_2_3_2_2', 'cmptag1_2_3_2_3',
|
||||
'cmptag1_2_3_3_1', 'cmptag1_2_3_3_2', 'cmptag1_2_3_3_3',
|
||||
|
||||
'cmptag1_3_1_1_1', 'cmptag1_3_1_1_2', 'cmptag1_3_1_1_3',
|
||||
'cmptag1_3_1_2_1', 'cmptag1_3_1_2_2', 'cmptag1_3_1_2_3',
|
||||
'cmptag1_3_1_3_1', 'cmptag1_3_1_3_2', 'cmptag1_3_1_3_3',
|
||||
'cmptag1_3_2_1_1', 'cmptag1_3_2_1_2', 'cmptag1_3_2_1_3',
|
||||
'cmptag1_3_2_2_1', 'cmptag1_3_2_2_2', 'cmptag1_3_2_2_3',
|
||||
'cmptag1_3_2_3_1', 'cmptag1_3_2_3_2', 'cmptag1_3_2_3_3',
|
||||
'cmptag1_3_3_1_1', 'cmptag1_3_3_1_2', 'cmptag1_3_3_1_3',
|
||||
'cmptag1_3_3_2_1', 'cmptag1_3_3_2_2', 'cmptag1_3_3_2_3',
|
||||
'cmptag1_3_3_3_1', 'cmptag1_3_3_3_2', 'cmptag1_3_3_3_3'
|
||||
)
|
||||
|
||||
redis.call('SADD', 'component_tag_keys',
|
||||
'cmptag2_1_1_1_1', 'cmptag2_1_1_1_2', 'cmptag2_1_1_1_3',
|
||||
'cmptag2_1_1_2_1', 'cmptag2_1_1_2_2', 'cmptag2_1_1_2_3',
|
||||
'cmptag2_1_1_3_1', 'cmptag2_1_1_3_2', 'cmptag2_1_1_3_3',
|
||||
'cmptag2_1_2_1_1', 'cmptag2_1_2_1_2', 'cmptag2_1_2_1_3',
|
||||
'cmptag2_1_2_2_1', 'cmptag2_1_2_2_2', 'cmptag2_1_2_2_3',
|
||||
'cmptag2_1_2_3_1', 'cmptag2_1_2_3_2', 'cmptag2_1_2_3_3',
|
||||
'cmptag2_1_3_1_1', 'cmptag2_1_3_1_2', 'cmptag2_1_3_1_3',
|
||||
'cmptag2_1_3_2_1', 'cmptag2_1_3_2_2', 'cmptag2_1_3_2_3',
|
||||
'cmptag2_1_3_3_1', 'cmptag2_1_3_3_2', 'cmptag2_1_3_3_3',
|
||||
|
||||
'cmptag2_2_1_1_1', 'cmptag2_2_1_1_2', 'cmptag2_2_1_1_3',
|
||||
'cmptag2_2_1_2_1', 'cmptag2_2_1_2_2', 'cmptag2_2_1_2_3',
|
||||
'cmptag2_2_1_3_1', 'cmptag2_2_1_3_2', 'cmptag2_2_1_3_3',
|
||||
'cmptag2_2_2_1_1', 'cmptag2_2_2_1_2', 'cmptag2_2_2_1_3',
|
||||
'cmptag2_2_2_2_1', 'cmptag2_2_2_2_2', 'cmptag2_2_2_2_3',
|
||||
'cmptag2_2_2_3_1', 'cmptag2_2_2_3_2', 'cmptag2_2_2_3_3',
|
||||
'cmptag2_2_3_1_1', 'cmptag2_2_3_1_2', 'cmptag2_2_3_1_3',
|
||||
'cmptag2_2_3_2_1', 'cmptag2_2_3_2_2', 'cmptag2_2_3_2_3',
|
||||
'cmptag2_2_3_3_1', 'cmptag2_2_3_3_2', 'cmptag2_2_3_3_3',
|
||||
|
||||
'cmptag2_3_1_1_1', 'cmptag2_3_1_1_2', 'cmptag2_3_1_1_3',
|
||||
'cmptag2_3_1_2_1', 'cmptag2_3_1_2_2', 'cmptag2_3_1_2_3',
|
||||
'cmptag2_3_1_3_1', 'cmptag2_3_1_3_2', 'cmptag2_3_1_3_3',
|
||||
'cmptag2_3_2_1_1', 'cmptag2_3_2_1_2', 'cmptag2_3_2_1_3',
|
||||
'cmptag2_3_2_2_1', 'cmptag2_3_2_2_2', 'cmptag2_3_2_2_3',
|
||||
'cmptag2_3_2_3_1', 'cmptag2_3_2_3_2', 'cmptag2_3_2_3_3',
|
||||
'cmptag2_3_3_1_1', 'cmptag2_3_3_1_2', 'cmptag2_3_3_1_3',
|
||||
'cmptag2_3_3_2_1', 'cmptag2_3_3_2_2', 'cmptag2_3_3_2_3',
|
||||
'cmptag2_3_3_3_1', 'cmptag2_3_3_3_2', 'cmptag2_3_3_3_3'
|
||||
)
|
||||
|
||||
redis.call('SADD', 'component_tag_keys',
|
||||
'cmptag3_1_1_1_1', 'cmptag3_1_1_1_2', 'cmptag3_1_1_1_3',
|
||||
'cmptag3_1_1_2_1', 'cmptag3_1_1_2_2', 'cmptag3_1_1_2_3',
|
||||
'cmptag3_1_1_3_1', 'cmptag3_1_1_3_2', 'cmptag3_1_1_3_3',
|
||||
'cmptag3_1_2_1_1', 'cmptag3_1_2_1_2', 'cmptag3_1_2_1_3',
|
||||
'cmptag3_1_2_2_1', 'cmptag3_1_2_2_2', 'cmptag3_1_2_2_3',
|
||||
'cmptag3_1_2_3_1', 'cmptag3_1_2_3_2', 'cmptag3_1_2_3_3',
|
||||
'cmptag3_1_3_1_1', 'cmptag3_1_3_1_2', 'cmptag3_1_3_1_3',
|
||||
'cmptag3_1_3_2_1', 'cmptag3_1_3_2_2', 'cmptag3_1_3_2_3',
|
||||
'cmptag3_1_3_3_1', 'cmptag3_1_3_3_2', 'cmptag3_1_3_3_3',
|
||||
|
||||
'cmptag3_2_1_1_1', 'cmptag3_2_1_1_2', 'cmptag3_2_1_1_3',
|
||||
'cmptag3_2_1_2_1', 'cmptag3_2_1_2_2', 'cmptag3_2_1_2_3',
|
||||
'cmptag3_2_1_3_1', 'cmptag3_2_1_3_2', 'cmptag3_2_1_3_3',
|
||||
'cmptag3_2_2_1_1', 'cmptag3_2_2_1_2', 'cmptag3_2_2_1_3',
|
||||
'cmptag3_2_2_2_1', 'cmptag3_2_2_2_2', 'cmptag3_2_2_2_3',
|
||||
'cmptag3_2_2_3_1', 'cmptag3_2_2_3_2', 'cmptag3_2_2_3_3',
|
||||
'cmptag3_2_3_1_1', 'cmptag3_2_3_1_2', 'cmptag3_2_3_1_3',
|
||||
'cmptag3_2_3_2_1', 'cmptag3_2_3_2_2', 'cmptag3_2_3_2_3',
|
||||
'cmptag3_2_3_3_1', 'cmptag3_2_3_3_2', 'cmptag3_2_3_3_3',
|
||||
|
||||
'cmptag3_3_1_1_1', 'cmptag3_3_1_1_2', 'cmptag3_3_1_1_3',
|
||||
'cmptag3_3_1_2_1', 'cmptag3_3_1_2_2', 'cmptag3_3_1_2_3',
|
||||
'cmptag3_3_1_3_1', 'cmptag3_3_1_3_2', 'cmptag3_3_1_3_3',
|
||||
'cmptag3_3_2_1_1', 'cmptag3_3_2_1_2', 'cmptag3_3_2_1_3',
|
||||
'cmptag3_3_2_2_1', 'cmptag3_3_2_2_2', 'cmptag3_3_2_2_3',
|
||||
'cmptag3_3_2_3_1', 'cmptag3_3_2_3_2', 'cmptag3_3_2_3_3',
|
||||
'cmptag3_3_3_1_1', 'cmptag3_3_3_1_2', 'cmptag3_3_3_1_3',
|
||||
'cmptag3_3_3_2_1', 'cmptag3_3_3_2_2', 'cmptag3_3_3_2_3',
|
||||
'cmptag3_3_3_3_1', 'cmptag3_3_3_3_2', 'cmptag3_3_3_3_3'
|
||||
)
|
||||
|
||||
redis.call('SADD', 'config_keys', 'component', 'base_extend', 'rated', 'setup', 'model', 'stable', 'bay', 'craft', 'integrity', 'behavior')
|
||||
|
||||
redis.call('SADD', 'measurement_tag_keys',
|
||||
'meas1_1_1_1_1_1', 'meas1_1_1_1_1_2', 'meas1_1_1_1_1_3', 'meas1_1_1_1_2_1', 'meas1_1_1_1_2_2', 'meas1_1_1_1_2_3', 'meas1_1_1_1_3_1', 'meas1_1_1_1_3_2', 'meas1_1_1_1_3_3',
|
||||
|
||||
'meas1_1_1_2_1_1', 'meas1_1_1_2_1_2', 'meas1_1_1_2_1_3', 'meas1_1_1_2_2_1', 'meas1_1_1_2_2_2', 'meas1_1_1_2_2_3', 'meas1_1_1_2_3_1', 'meas1_1_1_2_3_2', 'meas1_1_1_2_3_3',
|
||||
'meas1_1_1_3_1_1', 'meas1_1_1_3_1_2', 'meas1_1_1_3_1_3', 'meas1_1_1_3_2_1', 'meas1_1_1_3_2_2', 'meas1_1_1_3_2_3', 'meas1_1_1_3_3_1', 'meas1_1_1_3_3_2', 'meas1_1_1_3_3_3',
|
||||
|
||||
'meas1_1_2_1_1_1', 'meas1_1_2_1_1_2', 'meas1_1_2_1_1_3', 'meas1_1_2_1_2_1', 'meas1_1_2_1_2_2', 'meas1_1_2_1_2_3', 'meas1_1_2_1_3_1', 'meas1_1_2_1_3_2', 'meas1_1_2_1_3_3',
|
||||
'meas1_1_2_2_1_1', 'meas1_1_2_2_1_2', 'meas1_1_2_2_1_3', 'meas1_1_2_2_2_1', 'meas1_1_2_2_2_2', 'meas1_1_2_2_2_3', 'meas1_1_2_2_3_1', 'meas1_1_2_2_3_2', 'meas1_1_2_2_3_3',
|
||||
'meas1_1_2_3_1_1', 'meas1_1_2_3_1_2', 'meas1_1_2_3_1_3', 'meas1_1_2_3_2_1', 'meas1_1_2_3_2_2', 'meas1_1_2_3_2_3', 'meas1_1_2_3_3_1', 'meas1_1_2_3_3_2', 'meas1_1_2_3_3_3',
|
||||
|
||||
'meas1_1_3_1_1_1', 'meas1_1_3_1_1_2', 'meas1_1_3_1_1_3', 'meas1_1_3_1_2_1', 'meas1_1_3_1_2_2', 'meas1_1_3_1_2_3', 'meas1_1_3_1_3_1', 'meas1_1_3_1_3_2', 'meas1_1_3_1_3_3',
|
||||
'meas1_1_3_2_1_1', 'meas1_1_3_2_1_2', 'meas1_1_3_2_1_3', 'meas1_1_3_2_2_1', 'meas1_1_3_2_2_2', 'meas1_1_3_2_2_3', 'meas1_1_3_2_3_1', 'meas1_1_3_2_3_2', 'meas1_1_3_2_3_3',
|
||||
'meas1_1_3_3_1_1', 'meas1_1_3_3_1_2', 'meas1_1_3_3_1_3', 'meas1_1_3_3_2_1', 'meas1_1_3_3_2_2', 'meas1_1_3_3_2_3', 'meas1_1_3_3_3_1', 'meas1_1_3_3_3_2', 'meas1_1_3_3_3_3',
|
||||
|
||||
'meas1_2_1_1_1_1', 'meas1_2_1_1_1_2', 'meas1_2_1_1_1_3', 'meas1_2_1_1_2_1', 'meas1_2_1_1_2_2', 'meas1_2_1_1_2_3', 'meas1_2_1_1_3_1', 'meas1_2_1_1_3_2', 'meas1_2_1_1_3_3',
|
||||
'meas1_2_1_2_1_1', 'meas1_2_1_2_1_2', 'meas1_2_1_2_1_3', 'meas1_2_1_2_2_1', 'meas1_2_1_2_2_2', 'meas1_2_1_2_2_3', 'meas1_2_1_2_3_1', 'meas1_2_1_2_3_2', 'meas1_2_1_2_3_3',
|
||||
'meas1_2_1_3_1_1', 'meas1_2_1_3_1_2', 'meas1_2_1_3_1_3', 'meas1_2_1_3_2_1', 'meas1_2_1_3_2_2', 'meas1_2_1_3_2_3', 'meas1_2_1_3_3_1', 'meas1_2_1_3_3_2', 'meas1_2_1_3_3_3',
|
||||
|
||||
'meas1_2_2_1_1_1', 'meas1_2_2_1_1_2', 'meas1_2_2_1_1_3', 'meas1_2_2_1_2_1', 'meas1_2_2_1_2_2', 'meas1_2_2_1_2_3', 'meas1_2_2_1_3_1', 'meas1_2_2_1_3_2', 'meas1_2_2_1_3_3',
|
||||
'meas1_2_2_2_1_1', 'meas1_2_2_2_1_2', 'meas1_2_2_2_1_3', 'meas1_2_2_2_2_1', 'meas1_2_2_2_2_2', 'meas1_2_2_2_2_3', 'meas1_2_2_2_3_1', 'meas1_2_2_2_3_2', 'meas1_2_2_2_3_3',
|
||||
'meas1_2_2_3_1_1', 'meas1_2_2_3_1_2', 'meas1_2_2_3_1_3', 'meas1_2_2_3_2_1', 'meas1_2_2_3_2_2', 'meas1_2_2_3_2_3', 'meas1_2_2_3_3_1', 'meas1_2_2_3_3_2', 'meas1_2_2_3_3_3',
|
||||
|
||||
'meas1_2_3_1_1_1', 'meas1_2_3_1_1_2', 'meas1_2_3_1_1_3', 'meas1_2_3_1_2_1', 'meas1_2_3_1_2_2', 'meas1_2_3_1_2_3', 'meas1_2_3_1_3_1', 'meas1_2_3_1_3_2', 'meas1_2_3_1_3_3',
|
||||
'meas1_2_3_2_1_1', 'meas1_2_3_2_1_2', 'meas1_2_3_2_1_3', 'meas1_2_3_2_2_1', 'meas1_2_3_2_2_2', 'meas1_2_3_2_2_3', 'meas1_2_3_2_3_1', 'meas1_2_3_2_3_2', 'meas1_2_3_2_3_3',
|
||||
'meas1_2_3_3_1_1', 'meas1_2_3_3_1_2', 'meas1_2_3_3_1_3', 'meas1_2_3_3_2_1', 'meas1_2_3_3_2_2', 'meas1_2_3_3_2_3', 'meas1_2_3_3_3_1', 'meas1_2_3_3_3_2', 'meas1_2_3_3_3_3',
|
||||
|
||||
'meas1_3_1_1_1_1', 'meas1_3_1_1_1_2', 'meas1_3_1_1_1_3', 'meas1_3_1_1_2_1', 'meas1_3_1_1_2_2', 'meas1_3_1_1_2_3', 'meas1_3_1_1_3_1', 'meas1_3_1_1_3_2', 'meas1_3_1_1_3_3',
|
||||
'meas1_3_1_2_1_1', 'meas1_3_1_2_1_2', 'meas1_3_1_2_1_3', 'meas1_3_1_2_2_1', 'meas1_3_1_2_2_2', 'meas1_3_1_2_2_3', 'meas1_3_1_2_3_1', 'meas1_3_1_2_3_2', 'meas1_3_1_2_3_3',
|
||||
'meas1_3_1_3_1_1', 'meas1_3_1_3_1_2', 'meas1_3_1_3_1_3', 'meas1_3_1_3_2_1', 'meas1_3_1_3_2_2', 'meas1_3_1_3_2_3', 'meas1_3_1_3_3_1', 'meas1_3_1_3_3_2', 'meas1_3_1_3_3_3',
|
||||
|
||||
'meas1_3_2_1_1_1', 'meas1_3_2_1_1_2', 'meas1_3_2_1_1_3', 'meas1_3_2_1_2_1', 'meas1_3_2_1_2_2', 'meas1_3_2_1_2_3', 'meas1_3_2_1_3_1', 'meas1_3_2_1_3_2', 'meas1_3_2_1_3_3',
|
||||
'meas1_3_2_2_1_1', 'meas1_3_2_2_1_2', 'meas1_3_2_2_1_3', 'meas1_3_2_2_2_1', 'meas1_3_2_2_2_2', 'meas1_3_2_2_2_3', 'meas1_3_2_2_3_1', 'meas1_3_2_2_3_2', 'meas1_3_2_2_3_3',
|
||||
'meas1_3_2_3_1_1', 'meas1_3_2_3_1_2', 'meas1_3_2_3_1_3', 'meas1_3_2_3_2_1', 'meas1_3_2_3_2_2', 'meas1_3_2_3_2_3', 'meas1_3_2_3_3_1', 'meas1_3_2_3_3_2', 'meas1_3_2_3_3_3',
|
||||
'meas1_3_3_1_1_1', 'meas1_3_3_1_1_2', 'meas1_3_3_1_1_3', 'meas1_3_3_1_2_1', 'meas1_3_3_1_2_2', 'meas1_3_3_1_2_3', 'meas1_3_3_1_3_1', 'meas1_3_3_1_3_2', 'meas1_3_3_1_3_3',
|
||||
'meas1_3_3_2_1_1', 'meas1_3_3_2_1_2', 'meas1_3_3_2_1_3', 'meas1_3_3_2_2_1', 'meas1_3_3_2_2_2', 'meas1_3_3_2_2_3', 'meas1_3_3_2_3_1', 'meas1_3_3_2_3_2', 'meas1_3_3_2_3_3',
|
||||
'meas1_3_3_3_1_1', 'meas1_3_3_3_1_2', 'meas1_3_3_3_1_3', 'meas1_3_3_3_2_1', 'meas1_3_3_3_2_2', 'meas1_3_3_3_2_3', 'meas1_3_3_3_3_1', 'meas1_3_3_3_3_2', 'meas1_3_3_3_3_3'
|
||||
)
|
||||
|
||||
redis.call('SADD', 'measurement_tag_keys',
|
||||
'meas2_1_1_1_1_1', 'meas2_1_1_1_1_2', 'meas2_1_1_1_1_3', 'meas2_1_1_1_2_1', 'meas2_1_1_1_2_2', 'meas2_1_1_1_2_3', 'meas2_1_1_1_3_1', 'meas2_1_1_1_3_2', 'meas2_1_1_1_3_3',
|
||||
'meas2_1_1_2_1_1', 'meas2_1_1_2_1_2', 'meas2_1_1_2_1_3', 'meas2_1_1_2_2_1', 'meas2_1_1_2_2_2', 'meas2_1_1_2_2_3', 'meas2_1_1_2_3_1', 'meas2_1_1_2_3_2', 'meas2_1_1_2_3_3',
|
||||
'meas2_1_1_3_1_1', 'meas2_1_1_3_1_2', 'meas2_1_1_3_1_3', 'meas2_1_1_3_2_1', 'meas2_1_1_3_2_2', 'meas2_1_1_3_2_3', 'meas2_1_1_3_3_1', 'meas2_1_1_3_3_2', 'meas2_1_1_3_3_3',
|
||||
|
||||
'meas2_1_2_1_1_1', 'meas2_1_2_1_1_2', 'meas2_1_2_1_1_3', 'meas2_1_2_1_2_1', 'meas2_1_2_1_2_2', 'meas2_1_2_1_2_3', 'meas2_1_2_1_3_1', 'meas2_1_2_1_3_2', 'meas2_1_2_1_3_3',
|
||||
'meas2_1_2_2_1_1', 'meas2_1_2_2_1_2', 'meas2_1_2_2_1_3', 'meas2_1_2_2_2_1', 'meas2_1_2_2_2_2', 'meas2_1_2_2_2_3', 'meas2_1_2_2_3_1', 'meas2_1_2_2_3_2', 'meas2_1_2_2_3_3',
|
||||
'meas2_1_2_3_1_1', 'meas2_1_2_3_1_2', 'meas2_1_2_3_1_3', 'meas2_1_2_3_2_1', 'meas2_1_2_3_2_2', 'meas2_1_2_3_2_3', 'meas2_1_2_3_3_1', 'meas2_1_2_3_3_2', 'meas2_1_2_3_3_3',
|
||||
|
||||
'meas2_1_3_1_1_1', 'meas2_1_3_1_1_2', 'meas2_1_3_1_1_3', 'meas2_1_3_1_2_1', 'meas2_1_3_1_2_2', 'meas2_1_3_1_2_3', 'meas2_1_3_1_3_1', 'meas2_1_3_1_3_2', 'meas2_1_3_1_3_3',
|
||||
'meas2_1_3_2_1_1', 'meas2_1_3_2_1_2', 'meas2_1_3_2_1_3', 'meas2_1_3_2_2_1', 'meas2_1_3_2_2_2', 'meas2_1_3_2_2_3', 'meas2_1_3_2_3_1', 'meas2_1_3_2_3_2', 'meas2_1_3_2_3_3',
|
||||
'meas2_1_3_3_1_1', 'meas2_1_3_3_1_2', 'meas2_1_3_3_1_3', 'meas2_1_3_3_2_1', 'meas2_1_3_3_2_2', 'meas2_1_3_3_2_3', 'meas2_1_3_3_3_1', 'meas2_1_3_3_3_2', 'meas2_1_3_3_3_3',
|
||||
|
||||
'meas2_2_1_1_1_1', 'meas2_2_1_1_1_2', 'meas2_2_1_1_1_3', 'meas2_2_1_1_2_1', 'meas2_2_1_1_2_2', 'meas2_2_1_1_2_3', 'meas2_2_1_1_3_1', 'meas2_2_1_1_3_2', 'meas2_2_1_1_3_3',
|
||||
'meas2_2_1_2_1_1', 'meas2_2_1_2_1_2', 'meas2_2_1_2_1_3', 'meas2_2_1_2_2_1', 'meas2_2_1_2_2_2', 'meas2_2_1_2_2_3', 'meas2_2_1_2_3_1', 'meas2_2_1_2_3_2', 'meas2_2_1_2_3_3',
|
||||
'meas2_2_1_3_1_1', 'meas2_2_1_3_1_2', 'meas2_2_1_3_1_3', 'meas2_2_1_3_2_1', 'meas2_2_1_3_2_2', 'meas2_2_1_3_2_3', 'meas2_2_1_3_3_1', 'meas2_2_1_3_3_2', 'meas2_2_1_3_3_3',
|
||||
|
||||
'meas2_2_2_1_1_1', 'meas2_2_2_1_1_2', 'meas2_2_2_1_1_3', 'meas2_2_2_1_2_1', 'meas2_2_2_1_2_2', 'meas2_2_2_1_2_3', 'meas2_2_2_1_3_1', 'meas2_2_2_1_3_2', 'meas2_2_2_1_3_3',
|
||||
'meas2_2_2_2_1_1', 'meas2_2_2_2_1_2', 'meas2_2_2_2_1_3', 'meas2_2_2_2_2_1', 'meas2_2_2_2_2_2', 'meas2_2_2_2_2_3', 'meas2_2_2_2_3_1', 'meas2_2_2_2_3_2', 'meas2_2_2_2_3_3',
|
||||
'meas2_2_2_3_1_1', 'meas2_2_2_3_1_2', 'meas2_2_2_3_1_3', 'meas2_2_2_3_2_1', 'meas2_2_2_3_2_2', 'meas2_2_2_3_2_3', 'meas2_2_2_3_3_1', 'meas2_2_2_3_3_2', 'meas2_2_2_3_3_3',
|
||||
|
||||
'meas2_2_3_1_1_1', 'meas2_2_3_1_1_2', 'meas2_2_3_1_1_3', 'meas2_2_3_1_2_1', 'meas2_2_3_1_2_2', 'meas2_2_3_1_2_3', 'meas2_2_3_1_3_1', 'meas2_2_3_1_3_2', 'meas2_2_3_1_3_3',
|
||||
'meas2_2_3_2_1_1', 'meas2_2_3_2_1_2', 'meas2_2_3_2_1_3', 'meas2_2_3_2_2_1', 'meas2_2_3_2_2_2', 'meas2_2_3_2_2_3', 'meas2_2_3_2_3_1', 'meas2_2_3_2_3_2', 'meas2_2_3_2_3_3',
|
||||
'meas2_2_3_3_1_1', 'meas2_2_3_3_1_2', 'meas2_2_3_3_1_3', 'meas2_2_3_3_2_1', 'meas2_2_3_3_2_2', 'meas2_2_3_3_2_3', 'meas2_2_3_3_3_1', 'meas2_2_3_3_3_2', 'meas2_2_3_3_3_3',
|
||||
|
||||
'meas2_3_1_1_1_1', 'meas2_3_1_1_1_2', 'meas2_3_1_1_1_3', 'meas2_3_1_1_2_1', 'meas2_3_1_1_2_2', 'meas2_3_1_1_2_3', 'meas2_3_1_1_3_1', 'meas2_3_1_1_3_2', 'meas2_3_1_1_3_3',
|
||||
'meas2_3_1_2_1_1', 'meas2_3_1_2_1_2', 'meas2_3_1_2_1_3', 'meas2_3_1_2_2_1', 'meas2_3_1_2_2_2', 'meas2_3_1_2_2_3', 'meas2_3_1_2_3_1', 'meas2_3_1_2_3_2', 'meas2_3_1_2_3_3',
|
||||
'meas2_3_1_3_1_1', 'meas2_3_1_3_1_2', 'meas2_3_1_3_1_3', 'meas2_3_1_3_2_1', 'meas2_3_1_3_2_2', 'meas2_3_1_3_2_3', 'meas2_3_1_3_3_1', 'meas2_3_1_3_3_2', 'meas2_3_1_3_3_3',
|
||||
|
||||
'meas2_3_2_1_1_1', 'meas2_3_2_1_1_2', 'meas2_3_2_1_1_3', 'meas2_3_2_1_2_1', 'meas2_3_2_1_2_2', 'meas2_3_2_1_2_3', 'meas2_3_2_1_3_1', 'meas2_3_2_1_3_2', 'meas2_3_2_1_3_3',
|
||||
'meas2_3_2_2_1_1', 'meas2_3_2_2_1_2', 'meas2_3_2_2_1_3', 'meas2_3_2_2_2_1', 'meas2_3_2_2_2_2', 'meas2_3_2_2_2_3', 'meas2_3_2_2_3_1', 'meas2_3_2_2_3_2', 'meas2_3_2_2_3_3',
|
||||
'meas2_3_2_3_1_1', 'meas2_3_2_3_1_2', 'meas2_3_2_3_1_3', 'meas2_3_2_3_2_1', 'meas2_3_2_3_2_2', 'meas2_3_2_3_2_3', 'meas2_3_2_3_3_1', 'meas2_3_2_3_3_2', 'meas2_3_2_3_3_3',
|
||||
|
||||
'meas2_3_3_1_1_1', 'meas2_3_3_1_1_2', 'meas2_3_3_1_1_3', 'meas2_3_3_1_2_1', 'meas2_3_3_1_2_2', 'meas2_3_3_1_2_3', 'meas2_3_3_1_3_1', 'meas2_3_3_1_3_2', 'meas2_3_3_1_3_3',
|
||||
'meas2_3_3_2_1_1', 'meas2_3_3_2_1_2', 'meas2_3_3_2_1_3', 'meas2_3_3_2_2_1', 'meas2_3_3_2_2_2', 'meas2_3_3_2_2_3', 'meas2_3_3_2_3_1', 'meas2_3_3_2_3_2', 'meas2_3_3_2_3_3',
|
||||
'meas2_3_3_3_1_1', 'meas2_3_3_3_1_2', 'meas2_3_3_3_1_3', 'meas2_3_3_3_2_1', 'meas2_3_3_3_2_2', 'meas2_3_3_3_2_3', 'meas2_3_3_3_3_1', 'meas2_3_3_3_3_2', 'meas2_3_3_3_3_3'
|
||||
)
|
||||
|
||||
redis.call('SADD', 'measurement_tag_keys',
|
||||
'meas3_1_1_1_1_1', 'meas3_1_1_1_1_2', 'meas3_1_1_1_1_3', 'meas3_1_1_1_2_1', 'meas3_1_1_1_2_2', 'meas3_1_1_1_2_3', 'meas3_1_1_1_3_1', 'meas3_1_1_1_3_2', 'meas3_1_1_1_3_3',
|
||||
'meas3_1_1_2_1_1', 'meas3_1_1_2_1_2', 'meas3_1_1_2_1_3', 'meas3_1_1_2_2_1', 'meas3_1_1_2_2_2', 'meas3_1_1_2_2_3', 'meas3_1_1_2_3_1', 'meas3_1_1_2_3_2', 'meas3_1_1_2_3_3',
|
||||
'meas3_1_1_3_1_1', 'meas3_1_1_3_1_2', 'meas3_1_1_3_1_3', 'meas3_1_1_3_2_1', 'meas3_1_1_3_2_2', 'meas3_1_1_3_2_3', 'meas3_1_1_3_3_1', 'meas3_1_1_3_3_2', 'meas3_1_1_3_3_3',
|
||||
|
||||
'meas3_1_2_1_1_1', 'meas3_1_2_1_1_2', 'meas3_1_2_1_1_3', 'meas3_1_2_1_2_1', 'meas3_1_2_1_2_2', 'meas3_1_2_1_2_3', 'meas3_1_2_1_3_1', 'meas3_1_2_1_3_2', 'meas3_1_2_1_3_3',
|
||||
'meas3_1_2_2_1_1', 'meas3_1_2_2_1_2', 'meas3_1_2_2_1_3', 'meas3_1_2_2_2_1', 'meas3_1_2_2_2_2', 'meas3_1_2_2_2_3', 'meas3_1_2_2_3_1', 'meas3_1_2_2_3_2', 'meas3_1_2_2_3_3',
|
||||
'meas3_1_2_3_1_1', 'meas3_1_2_3_1_2', 'meas3_1_2_3_1_3', 'meas3_1_2_3_2_1', 'meas3_1_2_3_2_2', 'meas3_1_2_3_2_3', 'meas3_1_2_3_3_1', 'meas3_1_2_3_3_2', 'meas3_1_2_3_3_3',
|
||||
|
||||
'meas3_1_3_1_1_1', 'meas3_1_3_1_1_2', 'meas3_1_3_1_1_3', 'meas3_1_3_1_2_1', 'meas3_1_3_1_2_2', 'meas3_1_3_1_2_3', 'meas3_1_3_1_3_1', 'meas3_1_3_1_3_2', 'meas3_1_3_1_3_3',
|
||||
'meas3_1_3_2_1_1', 'meas3_1_3_2_1_2', 'meas3_1_3_2_1_3', 'meas3_1_3_2_2_1', 'meas3_1_3_2_2_2', 'meas3_1_3_2_2_3', 'meas3_1_3_2_3_1', 'meas3_1_3_2_3_2', 'meas3_1_3_2_3_3',
|
||||
'meas3_1_3_3_1_1', 'meas3_1_3_3_1_2', 'meas3_1_3_3_1_3', 'meas3_1_3_3_2_1', 'meas3_1_3_3_2_2', 'meas3_1_3_3_2_3', 'meas3_1_3_3_3_1', 'meas3_1_3_3_3_2', 'meas3_1_3_3_3_3',
|
||||
|
||||
'meas3_2_1_1_1_1', 'meas3_2_1_1_1_2', 'meas3_2_1_1_1_3', 'meas3_2_1_1_2_1', 'meas3_2_1_1_2_2', 'meas3_2_1_1_2_3', 'meas3_2_1_1_3_1', 'meas3_2_1_1_3_2', 'meas3_2_1_1_3_3',
|
||||
'meas3_2_1_2_1_1', 'meas3_2_1_2_1_2', 'meas3_2_1_2_1_3', 'meas3_2_1_2_2_1', 'meas3_2_1_2_2_2', 'meas3_2_1_2_2_3', 'meas3_2_1_2_3_1', 'meas3_2_1_2_3_2', 'meas3_2_1_2_3_3',
|
||||
'meas3_2_1_3_1_1', 'meas3_2_1_3_1_2', 'meas3_2_1_3_1_3', 'meas3_2_1_3_2_1', 'meas3_2_1_3_2_2', 'meas3_2_1_3_2_3', 'meas3_2_1_3_3_1', 'meas3_2_1_3_3_2', 'meas3_2_1_3_3_3',
|
||||
|
||||
'meas3_2_2_1_1_1', 'meas3_2_2_1_1_2', 'meas3_2_2_1_1_3', 'meas3_2_2_1_2_1', 'meas3_2_2_1_2_2', 'meas3_2_2_1_2_3', 'meas3_2_2_1_3_1', 'meas3_2_2_1_3_2', 'meas3_2_2_1_3_3',
|
||||
'meas3_2_2_2_1_1', 'meas3_2_2_2_1_2', 'meas3_2_2_2_1_3', 'meas3_2_2_2_2_1', 'meas3_2_2_2_2_2', 'meas3_2_2_2_2_3', 'meas3_2_2_2_3_1', 'meas3_2_2_2_3_2', 'meas3_2_2_2_3_3',
|
||||
'meas3_2_2_3_1_1', 'meas3_2_2_3_1_2', 'meas3_2_2_3_1_3', 'meas3_2_2_3_2_1', 'meas3_2_2_3_2_2', 'meas3_2_2_3_2_3', 'meas3_2_2_3_3_1', 'meas3_2_2_3_3_2', 'meas3_2_2_3_3_3',
|
||||
|
||||
'meas3_2_3_1_1_1', 'meas3_2_3_1_1_2', 'meas3_2_3_1_1_3', 'meas3_2_3_1_2_1', 'meas3_2_3_1_2_2', 'meas3_2_3_1_2_3', 'meas3_2_3_1_3_1', 'meas3_2_3_1_3_2', 'meas3_2_3_1_3_3',
|
||||
'meas3_2_3_2_1_1', 'meas3_2_3_2_1_2', 'meas3_2_3_2_1_3', 'meas3_2_3_2_2_1', 'meas3_2_3_2_2_2', 'meas3_2_3_2_2_3', 'meas3_2_3_2_3_1', 'meas3_2_3_2_3_2', 'meas3_2_3_2_3_3',
|
||||
'meas3_2_3_3_1_1', 'meas3_2_3_3_1_2', 'meas3_2_3_3_1_3', 'meas3_2_3_3_2_1', 'meas3_2_3_3_2_2', 'meas3_2_3_3_2_3', 'meas3_2_3_3_3_1', 'meas3_2_3_3_3_2', 'meas3_2_3_3_3_3',
|
||||
|
||||
'meas3_3_1_1_1_1', 'meas3_3_1_1_1_2', 'meas3_3_1_1_1_3', 'meas3_3_1_1_2_1', 'meas3_3_1_1_2_2', 'meas3_3_1_1_2_3', 'meas3_3_1_1_3_1', 'meas3_3_1_1_3_2', 'meas3_3_1_1_3_3',
|
||||
'meas3_3_1_2_1_1', 'meas3_3_1_2_1_2', 'meas3_3_1_2_1_3', 'meas3_3_1_2_2_1', 'meas3_3_1_2_2_2', 'meas3_3_1_2_2_3', 'meas3_3_1_2_3_1', 'meas3_3_1_2_3_2', 'meas3_3_1_2_3_3',
|
||||
'meas3_3_1_3_1_1', 'meas3_3_1_3_1_2', 'meas3_3_1_3_1_3', 'meas3_3_1_3_2_1', 'meas3_3_1_3_2_2', 'meas3_3_1_3_2_3', 'meas3_3_1_3_3_1', 'meas3_3_1_3_3_2', 'meas3_3_1_3_3_3',
|
||||
|
||||
'meas3_3_2_1_1_1', 'meas3_3_2_1_1_2', 'meas3_3_2_1_1_3', 'meas3_3_2_1_2_1', 'meas3_3_2_1_2_2', 'meas3_3_2_1_2_3', 'meas3_3_2_1_3_1', 'meas3_3_2_1_3_2', 'meas3_3_2_1_3_3',
|
||||
'meas3_3_2_2_1_1', 'meas3_3_2_2_1_2', 'meas3_3_2_2_1_3', 'meas3_3_2_2_2_1', 'meas3_3_2_2_2_2', 'meas3_3_2_2_2_3', 'meas3_3_2_2_3_1', 'meas3_3_2_2_3_2', 'meas3_3_2_2_3_3',
|
||||
'meas3_3_2_3_1_1', 'meas3_3_2_3_1_2', 'meas3_3_2_3_1_3', 'meas3_3_2_3_2_1', 'meas3_3_2_3_2_2', 'meas3_3_2_3_2_3', 'meas3_3_2_3_3_1', 'meas3_3_2_3_3_2', 'meas3_3_2_3_3_3',
|
||||
|
||||
'meas3_3_3_1_1_1', 'meas3_3_3_1_1_2', 'meas3_3_3_1_1_3', 'meas3_3_3_1_2_1', 'meas3_3_3_1_2_2', 'meas3_3_3_1_2_3', 'meas3_3_3_1_3_1', 'meas3_3_3_1_3_2', 'meas3_3_3_1_3_3',
|
||||
'meas3_3_3_2_1_1', 'meas3_3_3_2_1_2', 'meas3_3_3_2_1_3', 'meas3_3_3_2_2_1', 'meas3_3_3_2_2_2', 'meas3_3_3_2_2_3', 'meas3_3_3_2_3_1', 'meas3_3_3_2_3_2', 'meas3_3_3_2_3_3',
|
||||
'meas3_3_3_3_1_1', 'meas3_3_3_3_1_2', 'meas3_3_3_3_1_3', 'meas3_3_3_3_2_1', 'meas3_3_3_3_2_2', 'meas3_3_3_3_2_3', 'meas3_3_3_3_3_1', 'meas3_3_3_3_3_2', 'meas3_3_3_3_3_3'
|
||||
)
|
||||
|
||||
redis.call('SADD', 'grid1_zones_keys', 'zone1_1', 'zone1_2', 'zone1_3')
|
||||
redis.call('SADD', 'grid2_zones_keys', 'zone2_1', 'zone2_2', 'zone2_3')
|
||||
redis.call('SADD', 'grid3_zones_keys', 'zone3_1', 'zone3_2', 'zone3_3')
|
||||
redis.call('SADD', 'zone1_1_stations_keys', 'station1_1_1', 'station1_1_2', 'station1_1_3')
|
||||
redis.call('SADD', 'zone1_2_stations_keys', 'station1_2_1', 'station1_2_2', 'station1_2_3')
|
||||
redis.call('SADD', 'zone1_3_stations_keys', 'station1_3_1', 'station1_3_2', 'station1_3_3')
|
||||
redis.call('SADD', 'zone2_1_stations_keys', 'station2_1_1', 'station2_1_2', 'station2_1_3')
|
||||
redis.call('SADD', 'zone2_2_stations_keys', 'station2_2_1', 'station2_2_2', 'station2_2_3')
|
||||
redis.call('SADD', 'zone2_3_stations_keys', 'station2_3_1', 'station2_3_2', 'station2_3_3')
|
||||
redis.call('SADD', 'zone3_1_stations_keys', 'station3_1_1', 'station3_1_2', 'station3_1_3')
|
||||
redis.call('SADD', 'zone3_2_stations_keys', 'station3_2_1', 'station3_2_2', 'station3_2_3')
|
||||
redis.call('SADD', 'zone3_3_stations_keys', 'station3_3_1', 'station3_3_2', 'station3_3_3')
|
||||
|
||||
redis.call('SADD', 'station1_1_1_components_nspath_keys', 'ns1_1_1_1', 'ns1_1_1_2', 'ns1_1_1_3')
|
||||
redis.call('SADD', 'station1_1_2_components_nspath_keys', 'ns1_1_2_1', 'ns1_1_2_2', 'ns1_1_2_3')
|
||||
redis.call('SADD', 'station1_1_3_components_nspath_keys', 'ns1_1_3_1', 'ns1_1_3_2', 'ns1_1_3_3')
|
||||
redis.call('SADD', 'station1_2_1_components_nspath_keys', 'ns1_2_1_1', 'ns1_2_1_2', 'ns1_2_1_3')
|
||||
redis.call('SADD', 'station1_2_2_components_nspath_keys', 'ns1_2_2_1', 'ns1_2_2_2', 'ns1_2_2_3')
|
||||
redis.call('SADD', 'station1_2_3_components_nspath_keys', 'ns1_2_3_1', 'ns1_2_3_2', 'ns1_2_3_3')
|
||||
redis.call('SADD', 'station1_3_1_components_nspath_keys', 'ns1_3_1_1', 'ns1_3_1_2', 'ns1_3_1_3')
|
||||
redis.call('SADD', 'station1_3_2_components_nspath_keys', 'ns1_3_2_1', 'ns1_3_2_2', 'ns1_3_2_3')
|
||||
redis.call('SADD', 'station1_3_3_components_nspath_keys', 'ns1_3_3_1', 'ns1_3_3_2', 'ns1_3_3_3')
|
||||
redis.call('SADD', 'station2_1_1_components_nspath_keys', 'ns2_1_1_1', 'ns2_1_1_2', 'ns2_1_1_3')
|
||||
redis.call('SADD', 'station2_1_2_components_nspath_keys', 'ns2_1_2_1', 'ns2_1_2_2', 'ns2_1_2_3')
|
||||
redis.call('SADD', 'station2_1_3_components_nspath_keys', 'ns2_1_3_1', 'ns2_1_3_2', 'ns2_1_3_3')
|
||||
redis.call('SADD', 'station2_2_1_components_nspath_keys', 'ns2_2_1_1', 'ns2_2_1_2', 'ns2_2_1_3')
|
||||
redis.call('SADD', 'station2_2_2_components_nspath_keys', 'ns2_2_2_1', 'ns2_2_2_2', 'ns2_2_2_3')
|
||||
redis.call('SADD', 'station2_2_3_components_nspath_keys', 'ns2_2_3_1', 'ns2_2_3_2', 'ns2_2_3_3')
|
||||
redis.call('SADD', 'station2_3_1_components_nspath_keys', 'ns2_3_1_1', 'ns2_3_1_2', 'ns2_3_1_3')
|
||||
redis.call('SADD', 'station2_3_2_components_nspath_keys', 'ns2_3_2_1', 'ns2_3_2_2', 'ns2_3_2_3')
|
||||
redis.call('SADD', 'station2_3_3_components_nspath_keys', 'ns2_3_3_1', 'ns2_3_3_2', 'ns2_3_3_3')
|
||||
redis.call('SADD', 'station3_1_1_components_nspath_keys', 'ns3_1_1_1', 'ns3_1_1_2', 'ns3_1_1_3')
|
||||
redis.call('SADD', 'station3_1_2_components_nspath_keys', 'ns3_1_2_1', 'ns3_1_2_2', 'ns3_1_2_3')
|
||||
redis.call('SADD', 'station3_1_3_components_nspath_keys', 'ns3_1_3_1', 'ns3_1_3_2', 'ns3_1_3_3')
|
||||
redis.call('SADD', 'station3_2_1_components_nspath_keys', 'ns3_2_1_1', 'ns3_2_1_2', 'ns3_2_1_3')
|
||||
redis.call('SADD', 'station3_2_2_components_nspath_keys', 'ns3_2_2_1', 'ns3_2_2_2', 'ns3_2_2_3')
|
||||
redis.call('SADD', 'station3_2_3_components_nspath_keys', 'ns3_2_3_1', 'ns3_2_3_2', 'ns3_2_3_3')
|
||||
redis.call('SADD', 'station3_3_1_components_nspath_keys', 'ns3_3_1_1', 'ns3_3_1_2', 'ns3_3_1_3')
|
||||
redis.call('SADD', 'station3_3_2_components_nspath_keys', 'ns3_3_2_1', 'ns3_3_2_2', 'ns3_3_2_3')
|
||||
redis.call('SADD', 'station3_3_3_components_nspath_keys', 'ns3_3_3_1', 'ns3_3_3_2', 'ns3_3_3_3')
|
||||
redis.call('SADD', 'station1_1_1_components_nspath_keys', 'ns1_1_1_1', 'ns1_1_1_2', 'ns1_1_1_3')
|
||||
redis.call('SADD', 'station1_1_2_components_nspath_keys', 'ns1_1_2_1', 'ns1_1_2_2', 'ns1_1_2_3')
|
||||
redis.call('SADD', 'station1_1_3_components_nspath_keys', 'ns1_1_3_1', 'ns1_1_3_2', 'ns1_1_3_3')
|
||||
redis.call('SADD', 'station1_2_1_components_nspath_keys', 'ns1_2_1_1', 'ns1_2_1_2', 'ns1_2_1_3')
|
||||
redis.call('SADD', 'station1_2_2_components_nspath_keys', 'ns1_2_2_1', 'ns1_2_2_2', 'ns1_2_2_3')
|
||||
redis.call('SADD', 'station1_2_3_components_nspath_keys', 'ns1_2_3_1', 'ns1_2_3_2', 'ns1_2_3_3')
|
||||
redis.call('SADD', 'station1_3_1_components_nspath_keys', 'ns1_3_1_1', 'ns1_3_1_2', 'ns1_3_1_3')
|
||||
redis.call('SADD', 'station1_3_2_components_nspath_keys', 'ns1_3_2_1', 'ns1_3_2_2', 'ns1_3_2_3')
|
||||
redis.call('SADD', 'station1_3_3_components_nspath_keys', 'ns1_3_3_1', 'ns1_3_3_2', 'ns1_3_3_3')
|
||||
redis.call('SADD', 'station2_1_1_components_nspath_keys', 'ns2_1_1_1', 'ns2_1_1_2', 'ns2_1_1_3')
|
||||
redis.call('SADD', 'station2_1_2_components_nspath_keys', 'ns2_1_2_1', 'ns2_1_2_2', 'ns2_1_2_3')
|
||||
redis.call('SADD', 'station2_1_3_components_nspath_keys', 'ns2_1_3_1', 'ns2_1_3_2', 'ns2_1_3_3')
|
||||
redis.call('SADD', 'station2_2_1_components_nspath_keys', 'ns2_2_1_1', 'ns2_2_1_2', 'ns2_2_1_3')
|
||||
redis.call('SADD', 'station2_2_2_components_nspath_keys', 'ns2_2_2_1', 'ns2_2_2_2', 'ns2_2_2_3')
|
||||
redis.call('SADD', 'station2_2_3_components_nspath_keys', 'ns2_2_3_1', 'ns2_2_3_2', 'ns2_2_3_3')
|
||||
redis.call('SADD', 'station2_3_1_components_nspath_keys', 'ns2_3_1_1', 'ns2_3_1_2', 'ns2_3_1_3')
|
||||
redis.call('SADD', 'station2_3_2_components_nspath_keys', 'ns2_3_2_1', 'ns2_3_2_2', 'ns2_3_2_3')
|
||||
redis.call('SADD', 'station2_3_3_components_nspath_keys', 'ns2_3_3_1', 'ns2_3_3_2', 'ns2_3_3_3')
|
||||
redis.call('SADD', 'station3_1_1_components_nspath_keys', 'ns3_1_1_1', 'ns3_1_1_2', 'ns3_1_1_3')
|
||||
redis.call('SADD', 'station3_1_2_components_nspath_keys', 'ns3_1_2_1', 'ns3_1_2_2', 'ns3_1_2_3')
|
||||
redis.call('SADD', 'station3_1_3_components_nspath_keys', 'ns3_1_3_1', 'ns3_1_3_2', 'ns3_1_3_3')
|
||||
redis.call('SADD', 'station3_2_1_components_nspath_keys', 'ns3_2_1_1', 'ns3_2_1_2', 'ns3_2_1_3')
|
||||
redis.call('SADD', 'station3_2_2_components_nspath_keys', 'ns3_2_2_1', 'ns3_2_2_2', 'ns3_2_2_3')
|
||||
redis.call('SADD', 'station3_2_3_components_nspath_keys', 'ns3_2_3_1', 'ns3_2_3_2', 'ns3_2_3_3')
|
||||
redis.call('SADD', 'station3_3_1_components_nspath_keys', 'ns3_3_1_1', 'ns3_3_1_2', 'ns3_3_1_3')
|
||||
redis.call('SADD', 'station3_3_2_components_nspath_keys', 'ns3_3_2_1', 'ns3_3_2_2', 'ns3_3_2_3')
|
||||
redis.call('SADD', 'station3_3_3_components_nspath_keys', 'ns3_3_3_1', 'ns3_3_3_2', 'ns3_3_3_3')
|
||||
|
||||
redis.call('SADD', 'ns1_1_1_1_components_tag_keys', 'comptag1_1_1_1_1', 'comptag1_1_1_1_2', 'comptag1_1_1_1_3')
|
||||
redis.call('SADD', 'ns1_1_1_2_components_tag_keys', 'comptag1_1_1_2_1', 'comptag1_1_1_2_2', 'comptag1_1_1_2_3')
|
||||
redis.call('SADD', 'ns1_1_1_3_components_tag_keys', 'comptag1_1_1_3_1', 'comptag1_1_1_3_2', 'comptag1_1_1_3_3')
|
||||
redis.call('SADD', 'ns1_1_2_1_components_tag_keys', 'comptag1_1_2_1_1', 'comptag1_1_2_1_2', 'comptag1_1_2_1_3')
|
||||
redis.call('SADD', 'ns1_1_2_2_components_tag_keys', 'comptag1_1_2_2_1', 'comptag1_1_2_2_2', 'comptag1_1_2_2_3')
|
||||
redis.call('SADD', 'ns1_1_2_3_components_tag_keys', 'comptag1_1_2_3_1', 'comptag1_1_2_3_2', 'comptag1_1_2_3_3')
|
||||
redis.call('SADD', 'ns1_1_3_1_components_tag_keys', 'comptag1_1_3_1_1', 'comptag1_1_3_1_2', 'comptag1_1_3_1_3')
|
||||
redis.call('SADD', 'ns1_1_3_2_components_tag_keys', 'comptag1_1_3_2_1', 'comptag1_1_3_2_2', 'comptag1_1_3_2_3')
|
||||
redis.call('SADD', 'ns1_1_3_3_components_tag_keys', 'comptag1_1_3_3_1', 'comptag1_1_3_3_2', 'comptag1_1_3_3_3')
|
||||
redis.call('SADD', 'ns1_2_1_1_components_tag_keys', 'comptag1_2_1_1_1', 'comptag1_2_1_1_2', 'comptag1_2_1_1_3')
|
||||
redis.call('SADD', 'ns1_2_1_2_components_tag_keys', 'comptag1_2_1_2_1', 'comptag1_2_1_2_2', 'comptag1_2_1_2_3')
|
||||
redis.call('SADD', 'ns1_2_1_3_components_tag_keys', 'comptag1_2_1_3_1', 'comptag1_2_1_3_2', 'comptag1_2_1_3_3')
|
||||
redis.call('SADD', 'ns1_2_2_1_components_tag_keys', 'comptag1_2_2_1_1', 'comptag1_2_2_1_2', 'comptag1_2_2_1_3')
|
||||
redis.call('SADD', 'ns1_2_2_2_components_tag_keys', 'comptag1_2_2_2_1', 'comptag1_2_2_2_2', 'comptag1_2_2_2_3')
|
||||
redis.call('SADD', 'ns1_2_2_3_components_tag_keys', 'comptag1_2_2_3_1', 'comptag1_2_2_3_2', 'comptag1_2_2_3_3')
|
||||
redis.call('SADD', 'ns1_2_3_1_components_tag_keys', 'comptag1_2_3_1_1', 'comptag1_2_3_1_2', 'comptag1_2_3_1_3')
|
||||
redis.call('SADD', 'ns1_2_3_2_components_tag_keys', 'comptag1_2_3_2_1', 'comptag1_2_3_2_2', 'comptag1_2_3_2_3')
|
||||
redis.call('SADD', 'ns1_2_3_3_components_tag_keys', 'comptag1_2_3_3_1', 'comptag1_2_3_3_2', 'comptag1_2_3_3_3')
|
||||
redis.call('SADD', 'ns1_3_1_1_components_tag_keys', 'comptag1_3_1_1_1', 'comptag1_3_1_1_2', 'comptag1_3_1_1_3')
|
||||
redis.call('SADD', 'ns1_3_1_2_components_tag_keys', 'comptag1_3_1_2_1', 'comptag1_3_1_2_2', 'comptag1_3_1_2_3')
|
||||
redis.call('SADD', 'ns1_3_1_3_components_tag_keys', 'comptag1_3_1_3_1', 'comptag1_3_1_3_2', 'comptag1_3_1_3_3')
|
||||
redis.call('SADD', 'ns1_3_2_1_components_tag_keys', 'comptag1_3_2_1_1', 'comptag1_3_2_1_2', 'comptag1_3_2_1_3')
|
||||
redis.call('SADD', 'ns1_3_2_2_components_tag_keys', 'comptag1_3_2_2_1', 'comptag1_3_2_2_2', 'comptag1_3_2_2_3')
|
||||
redis.call('SADD', 'ns1_3_2_3_components_tag_keys', 'comptag1_3_2_3_1', 'comptag1_3_2_3_2', 'comptag1_3_2_3_3')
|
||||
redis.call('SADD', 'ns1_3_2_1_components_tag_keys', 'comptag1_3_2_1_1', 'comptag1_3_2_1_2', 'comptag1_3_2_1_3')
|
||||
redis.call('SADD', 'ns1_3_2_2_components_tag_keys', 'comptag1_3_2_2_1', 'comptag1_3_2_2_2', 'comptag1_3_2_2_3')
|
||||
redis.call('SADD', 'ns1_3_2_3_components_tag_keys', 'comptag1_3_2_3_1', 'comptag1_3_2_3_2', 'comptag1_3_2_3_3')
|
||||
redis.call('SADD', 'ns2_1_1_1_components_tag_keys', 'comptag2_1_1_1_1', 'comptag2_1_1_1_2', 'comptag2_1_1_1_3')
|
||||
redis.call('SADD', 'ns2_1_1_2_components_tag_keys', 'comptag2_1_1_2_1', 'comptag2_1_1_2_2', 'comptag2_1_1_2_3')
|
||||
redis.call('SADD', 'ns2_1_1_3_components_tag_keys', 'comptag2_1_1_3_1', 'comptag2_1_1_3_2', 'comptag2_1_1_3_3')
|
||||
redis.call('SADD', 'ns2_1_2_1_components_tag_keys', 'comptag2_1_2_1_1', 'comptag2_1_2_1_2', 'comptag2_1_2_1_3')
|
||||
redis.call('SADD', 'ns2_1_2_2_components_tag_keys', 'comptag2_1_2_2_1', 'comptag2_1_2_2_2', 'comptag2_1_2_2_3')
|
||||
redis.call('SADD', 'ns2_1_2_3_components_tag_keys', 'comptag2_1_2_3_1', 'comptag2_1_2_3_2', 'comptag2_1_2_3_3')
|
||||
redis.call('SADD', 'ns2_1_3_1_components_tag_keys', 'comptag2_1_3_1_1', 'comptag2_1_3_1_2', 'comptag2_1_3_1_3')
|
||||
redis.call('SADD', 'ns2_1_3_2_components_tag_keys', 'comptag2_1_3_2_1', 'comptag2_1_3_2_2', 'comptag2_1_3_2_3')
|
||||
redis.call('SADD', 'ns2_1_3_3_components_tag_keys', 'comptag2_1_3_3_1', 'comptag2_1_3_3_2', 'comptag2_1_3_3_3')
|
||||
redis.call('SADD', 'ns2_2_1_1_components_tag_keys', 'comptag2_2_1_1_1', 'comptag2_2_1_1_2', 'comptag2_2_1_1_3')
|
||||
redis.call('SADD', 'ns2_2_1_2_components_tag_keys', 'comptag2_2_1_2_1', 'comptag2_2_1_2_2', 'comptag2_2_1_2_3')
|
||||
redis.call('SADD', 'ns2_2_1_3_components_tag_keys', 'comptag2_2_1_3_1', 'comptag2_2_1_3_2', 'comptag2_2_1_3_3')
|
||||
redis.call('SADD', 'ns2_2_2_1_components_tag_keys', 'comptag2_2_2_1_1', 'comptag2_2_2_1_2', 'comptag2_2_2_1_3')
|
||||
redis.call('SADD', 'ns2_2_2_2_components_tag_keys', 'comptag2_2_2_2_1', 'comptag2_2_2_2_2', 'comptag2_2_2_2_3')
|
||||
redis.call('SADD', 'ns2_2_2_3_components_tag_keys', 'comptag2_2_2_3_1', 'comptag2_2_2_3_2', 'comptag2_2_2_3_3')
|
||||
redis.call('SADD', 'ns2_2_3_1_components_tag_keys', 'comptag2_2_3_1_1', 'comptag2_2_3_1_2', 'comptag2_2_3_1_3')
|
||||
redis.call('SADD', 'ns2_2_3_2_components_tag_keys', 'comptag2_2_3_2_1', 'comptag2_2_3_2_2', 'comptag2_2_3_2_3')
|
||||
redis.call('SADD', 'ns2_2_3_3_components_tag_keys', 'comptag2_2_3_3_1', 'comptag2_2_3_3_2', 'comptag2_2_3_3_3')
|
||||
redis.call('SADD', 'ns2_3_1_1_components_tag_keys', 'comptag2_3_1_1_1', 'comptag2_3_1_1_2', 'comptag2_3_1_1_3')
|
||||
redis.call('SADD', 'ns2_3_1_2_components_tag_keys', 'comptag2_3_1_2_1', 'comptag2_3_1_2_2', 'comptag2_3_1_2_3')
|
||||
redis.call('SADD', 'ns2_3_1_3_components_tag_keys', 'comptag2_3_1_3_1', 'comptag2_3_1_3_2', 'comptag2_3_1_3_3')
|
||||
redis.call('SADD', 'ns2_3_2_1_components_tag_keys', 'comptag2_3_2_1_1', 'comptag2_3_2_1_2', 'comptag2_3_2_1_3')
|
||||
redis.call('SADD', 'ns2_3_2_2_components_tag_keys', 'comptag2_3_2_2_1', 'comptag2_3_2_2_2', 'comptag2_3_2_2_3')
|
||||
redis.call('SADD', 'ns2_3_2_3_components_tag_keys', 'comptag2_3_2_3_1', 'comptag2_3_2_3_2', 'comptag2_3_2_3_3')
|
||||
redis.call('SADD', 'ns2_3_2_1_components_tag_keys', 'comptag2_3_2_1_1', 'comptag2_3_2_1_2', 'comptag2_3_2_1_3')
|
||||
redis.call('SADD', 'ns2_3_2_2_components_tag_keys', 'comptag2_3_2_2_1', 'comptag2_3_2_2_2', 'comptag2_3_2_2_3')
|
||||
redis.call('SADD', 'ns2_3_2_3_components_tag_keys', 'comptag2_3_2_3_1', 'comptag2_3_2_3_2', 'comptag2_3_2_3_3')
|
||||
redis.call('SADD', 'ns3_1_1_1_components_tag_keys', 'comptag3_1_1_1_1', 'comptag3_1_1_1_2', 'comptag3_1_1_1_3')
|
||||
redis.call('SADD', 'ns3_1_1_2_components_tag_keys', 'comptag3_1_1_2_1', 'comptag3_1_1_2_2', 'comptag3_1_1_2_3')
|
||||
redis.call('SADD', 'ns3_1_1_3_components_tag_keys', 'comptag3_1_1_3_1', 'comptag3_1_1_3_2', 'comptag3_1_1_3_3')
|
||||
redis.call('SADD', 'ns3_1_2_1_components_tag_keys', 'comptag3_1_2_1_1', 'comptag3_1_2_1_2', 'comptag3_1_2_1_3')
|
||||
redis.call('SADD', 'ns3_1_2_2_components_tag_keys', 'comptag3_1_2_2_1', 'comptag3_1_2_2_2', 'comptag3_1_2_2_3')
|
||||
redis.call('SADD', 'ns3_1_2_3_components_tag_keys', 'comptag3_1_2_3_1', 'comptag3_1_2_3_2', 'comptag3_1_2_3_3')
|
||||
redis.call('SADD', 'ns3_1_3_1_components_tag_keys', 'comptag3_1_3_1_1', 'comptag3_1_3_1_2', 'comptag3_1_3_1_3')
|
||||
redis.call('SADD', 'ns3_1_3_2_components_tag_keys', 'comptag3_1_3_2_1', 'comptag3_1_3_2_2', 'comptag3_1_3_2_3')
|
||||
redis.call('SADD', 'ns3_1_3_3_components_tag_keys', 'comptag3_1_3_3_1', 'comptag3_1_3_3_2', 'comptag3_1_3_3_3')
|
||||
redis.call('SADD', 'ns3_2_1_1_components_tag_keys', 'comptag3_2_1_1_1', 'comptag3_2_1_1_2', 'comptag3_2_1_1_3')
|
||||
redis.call('SADD', 'ns3_2_1_2_components_tag_keys', 'comptag3_2_1_2_1', 'comptag3_2_1_2_2', 'comptag3_2_1_2_3')
|
||||
redis.call('SADD', 'ns3_2_1_3_components_tag_keys', 'comptag3_2_1_3_1', 'comptag3_2_1_3_2', 'comptag3_2_1_3_3')
|
||||
redis.call('SADD', 'ns3_2_2_1_components_tag_keys', 'comptag3_2_2_1_1', 'comptag3_2_2_1_2', 'comptag3_2_2_1_3')
|
||||
redis.call('SADD', 'ns3_2_2_2_components_tag_keys', 'comptag3_2_2_2_1', 'comptag3_2_2_2_2', 'comptag3_2_2_2_3')
|
||||
redis.call('SADD', 'ns3_2_2_3_components_tag_keys', 'comptag3_2_2_3_1', 'comptag3_2_2_3_2', 'comptag3_2_2_3_3')
|
||||
redis.call('SADD', 'ns3_2_3_1_components_tag_keys', 'comptag3_2_3_1_1', 'comptag3_2_3_1_2', 'comptag3_2_3_1_3')
|
||||
redis.call('SADD', 'ns3_2_3_2_components_tag_keys', 'comptag3_2_3_2_1', 'comptag3_2_3_2_2', 'comptag3_2_3_2_3')
|
||||
redis.call('SADD', 'ns3_2_3_3_components_tag_keys', 'comptag3_2_3_3_1', 'comptag3_2_3_3_2', 'comptag3_2_3_3_3')
|
||||
redis.call('SADD', 'ns3_3_1_1_components_tag_keys', 'comptag3_3_1_1_1', 'comptag3_3_1_1_2', 'comptag3_3_1_1_3')
|
||||
redis.call('SADD', 'ns3_3_1_2_components_tag_keys', 'comptag3_3_1_2_1', 'comptag3_3_1_2_2', 'comptag3_3_1_2_3')
|
||||
redis.call('SADD', 'ns3_3_1_3_components_tag_keys', 'comptag3_3_1_3_1', 'comptag3_3_1_3_2', 'comptag3_3_1_3_3')
|
||||
redis.call('SADD', 'ns3_3_2_1_components_tag_keys', 'comptag3_3_2_1_1', 'comptag3_3_2_1_2', 'comptag3_3_2_1_3')
|
||||
redis.call('SADD', 'ns3_3_2_2_components_tag_keys', 'comptag3_3_2_2_1', 'comptag3_3_2_2_2', 'comptag3_3_2_2_3')
|
||||
redis.call('SADD', 'ns3_3_2_3_components_tag_keys', 'comptag3_3_2_3_1', 'comptag3_3_2_3_2', 'comptag3_3_2_3_3')
|
||||
redis.call('SADD', 'ns3_3_3_1_components_tag_keys', 'comptag3_3_3_1_1', 'comptag3_3_3_1_2', 'comptag3_3_3_1_3')
|
||||
redis.call('SADD', 'ns3_3_3_2_components_tag_keys', 'comptag3_3_3_2_1', 'comptag3_3_3_2_2', 'comptag3_3_3_2_3')
|
||||
redis.call('SADD', 'ns3_3_3_3_components_tag_keys', 'comptag3_3_3_3_1', 'comptag3_3_3_3_2', 'comptag3_3_3_3_3')
|
||||
|
||||
redis.call('SADD', 'comptag1_1_1_1_2_measurement_keys', 'meas1_1_1_1_2_1', 'meas1_1_1_1_2_2', 'meas1_1_1_1_2_3')
|
||||
redis.call('SADD', 'comptag1_1_1_1_3_measurement_keys', 'meas1_1_1_1_3_1', 'meas1_1_1_1_3_2', 'meas1_1_1_1_3_3')
|
||||
redis.call('SADD', 'comptag1_1_1_2_1_measurement_keys', 'meas1_1_1_2_1_1', 'meas1_1_1_2_1_2', 'meas1_1_1_2_1_3')
|
||||
redis.call('SADD', 'comptag1_1_1_2_2_measurement_keys', 'meas1_1_1_2_2_1', 'meas1_1_1_2_2_2', 'meas1_1_1_2_2_3')
|
||||
redis.call('SADD', 'comptag1_1_1_2_3_measurement_keys', 'meas1_1_1_2_3_1', 'meas1_1_1_2_3_2', 'meas1_1_1_2_3_3')
|
||||
redis.call('SADD', 'comptag1_1_1_3_1_measurement_keys', 'meas1_1_1_3_1_1', 'meas1_1_1_3_1_2', 'meas1_1_1_3_1_3')
|
||||
redis.call('SADD', 'comptag1_1_1_3_2_measurement_keys', 'meas1_1_1_3_2_1', 'meas1_1_1_3_2_2', 'meas1_1_1_3_2_3')
|
||||
redis.call('SADD', 'comptag1_1_1_3_3_measurement_keys', 'meas1_1_1_3_3_1', 'meas1_1_1_3_3_2', 'meas1_1_1_3_3_3')
|
||||
redis.call('SADD', 'comptag1_1_2_1_1_measurement_keys', 'meas1_1_2_1_1_1', 'meas1_1_2_1_1_2', 'meas1_1_2_1_1_3')
|
||||
redis.call('SADD', 'comptag1_1_2_1_2_measurement_keys', 'meas1_1_2_1_2_1', 'meas1_1_2_1_2_2', 'meas1_1_2_1_2_3')
|
||||
redis.call('SADD', 'comptag1_1_2_1_3_measurement_keys', 'meas1_1_2_1_3_1', 'meas1_1_2_1_3_2', 'meas1_1_2_1_3_3')
|
||||
redis.call('SADD', 'comptag1_1_2_2_1_measurement_keys', 'meas1_1_2_2_1_1', 'meas1_1_2_2_1_2', 'meas1_1_2_2_1_3')
|
||||
redis.call('SADD', 'comptag1_1_2_2_2_measurement_keys', 'meas1_1_2_2_2_1', 'meas1_1_2_2_2_2', 'meas1_1_2_2_2_3')
|
||||
redis.call('SADD', 'comptag1_1_2_2_3_measurement_keys', 'meas1_1_2_2_3_1', 'meas1_1_2_2_3_2', 'meas1_1_2_2_3_3')
|
||||
redis.call('SADD', 'comptag1_1_2_3_1_measurement_keys', 'meas1_1_2_3_1_1', 'meas1_1_2_3_1_2', 'meas1_1_2_3_1_3')
|
||||
redis.call('SADD', 'comptag1_1_2_3_2_measurement_keys', 'meas1_1_2_3_2_1', 'meas1_1_2_3_2_2', 'meas1_1_2_3_2_3')
|
||||
redis.call('SADD', 'comptag1_1_2_3_3_measurement_keys', 'meas1_1_2_3_3_1', 'meas1_1_2_3_3_2', 'meas1_1_2_3_3_3')
|
||||
redis.call('SADD', 'comptag1_1_3_1_1_measurement_keys', 'meas1_1_3_1_1_1', 'meas1_1_3_1_1_2', 'meas1_1_3_1_1_3')
|
||||
redis.call('SADD', 'comptag1_1_3_1_2_measurement_keys', 'meas1_1_3_1_2_1', 'meas1_1_3_1_2_2', 'meas1_1_3_1_2_3')
|
||||
redis.call('SADD', 'comptag1_1_3_1_3_measurement_keys', 'meas1_1_3_1_3_1', 'meas1_1_3_1_3_2', 'meas1_1_3_1_3_3')
|
||||
redis.call('SADD', 'comptag1_1_3_2_1_measurement_keys', 'meas1_1_3_2_1_1', 'meas1_1_3_2_1_2', 'meas1_1_3_2_1_3')
|
||||
redis.call('SADD', 'comptag1_1_3_2_2_measurement_keys', 'meas1_1_3_2_2_1', 'meas1_1_3_2_2_2', 'meas1_1_3_2_2_3')
|
||||
redis.call('SADD', 'comptag1_1_3_2_3_measurement_keys', 'meas1_1_3_2_3_1', 'meas1_1_3_2_3_2', 'meas1_1_3_2_3_3')
|
||||
redis.call('SADD', 'comptag1_1_3_3_1_measurement_keys', 'meas1_1_3_3_1_1', 'meas1_1_3_3_1_2', 'meas1_1_3_3_1_3')
|
||||
redis.call('SADD', 'comptag1_1_3_3_2_measurement_keys', 'meas1_1_3_3_2_1', 'meas1_1_3_3_2_2', 'meas1_1_3_3_2_3')
|
||||
redis.call('SADD', 'comptag1_1_3_3_3_measurement_keys', 'meas1_1_3_3_3_1', 'meas1_1_3_3_3_2', 'meas1_1_3_3_3_3')
|
||||
redis.call('SADD', 'comptag1_2_1_1_1_measurement_keys', 'meas1_2_1_1_1_1', 'meas1_2_1_1_1_2', 'meas1_2_1_1_1_3')
|
||||
redis.call('SADD', 'comptag1_2_1_1_2_measurement_keys', 'meas1_2_1_1_2_1', 'meas1_2_1_1_2_2', 'meas1_2_1_1_2_3')
|
||||
redis.call('SADD', 'comptag1_2_1_1_3_measurement_keys', 'meas1_2_1_1_3_1', 'meas1_2_1_1_3_2', 'meas1_2_1_1_3_3')
|
||||
redis.call('SADD', 'comptag1_2_1_2_1_measurement_keys', 'meas1_2_1_2_1_1', 'meas1_2_1_2_1_2', 'meas1_2_1_2_1_3')
|
||||
redis.call('SADD', 'comptag1_2_1_2_2_measurement_keys', 'meas1_2_1_2_2_1', 'meas1_2_1_2_2_2', 'meas1_2_1_2_2_3')
|
||||
redis.call('SADD', 'comptag1_2_1_2_3_measurement_keys', 'meas1_2_1_2_3_1', 'meas1_2_1_2_3_2', 'meas1_2_1_2_3_3')
|
||||
redis.call('SADD', 'comptag1_2_1_3_1_measurement_keys', 'meas1_2_1_3_1_1', 'meas1_2_1_3_1_2', 'meas1_2_1_3_1_3')
|
||||
redis.call('SADD', 'comptag1_2_1_3_2_measurement_keys', 'meas1_2_1_3_2_1', 'meas1_2_1_3_2_2', 'meas1_2_1_3_2_3')
|
||||
redis.call('SADD', 'comptag1_2_1_3_3_measurement_keys', 'meas1_2_1_3_3_1', 'meas1_2_1_3_3_2', 'meas1_2_1_3_3_3')
|
||||
redis.call('SADD', 'comptag1_2_2_1_1_measurement_keys', 'meas1_2_2_1_1_1', 'meas1_2_2_1_1_2', 'meas1_2_2_1_1_3')
|
||||
redis.call('SADD', 'comptag1_2_2_1_2_measurement_keys', 'meas1_2_2_1_2_1', 'meas1_2_2_1_2_2', 'meas1_2_2_1_2_3')
|
||||
redis.call('SADD', 'comptag1_2_2_1_3_measurement_keys', 'meas1_2_2_1_3_1', 'meas1_2_2_1_3_2', 'meas1_2_2_1_3_3')
|
||||
redis.call('SADD', 'comptag1_2_2_2_1_measurement_keys', 'meas1_2_2_2_1_1', 'meas1_2_2_2_1_2', 'meas1_2_2_2_1_3')
|
||||
redis.call('SADD', 'comptag1_2_2_2_2_measurement_keys', 'meas1_2_2_2_2_1', 'meas1_2_2_2_2_2', 'meas1_2_2_2_2_3')
|
||||
redis.call('SADD', 'comptag1_2_2_2_3_measurement_keys', 'meas1_2_2_2_3_1', 'meas1_2_2_2_3_2', 'meas1_2_2_2_3_3')
|
||||
redis.call('SADD', 'comptag1_2_2_3_1_measurement_keys', 'meas1_2_2_3_1_1', 'meas1_2_2_3_1_2', 'meas1_2_2_3_1_3')
|
||||
redis.call('SADD', 'comptag1_2_2_3_2_measurement_keys', 'meas1_2_2_3_2_1', 'meas1_2_2_3_2_2', 'meas1_2_2_3_2_3')
|
||||
redis.call('SADD', 'comptag1_2_2_3_3_measurement_keys', 'meas1_2_2_3_3_1', 'meas1_2_2_3_3_2', 'meas1_2_2_3_3_3')
|
||||
redis.call('SADD', 'comptag1_2_3_1_1_measurement_keys', 'meas1_2_3_1_1_1', 'meas1_2_3_1_1_2', 'meas1_2_3_1_1_3')
|
||||
redis.call('SADD', 'comptag1_2_3_1_2_measurement_keys', 'meas1_2_3_1_2_1', 'meas1_2_3_1_2_2', 'meas1_2_3_1_2_3')
|
||||
redis.call('SADD', 'comptag1_2_3_1_3_measurement_keys', 'meas1_2_3_1_3_1', 'meas1_2_3_1_3_2', 'meas1_2_3_1_3_3')
|
||||
redis.call('SADD', 'comptag1_2_3_2_1_measurement_keys', 'meas1_2_3_2_1_1', 'meas1_2_3_2_1_2', 'meas1_2_3_2_1_3')
|
||||
redis.call('SADD', 'comptag1_2_3_2_2_measurement_keys', 'meas1_2_3_2_2_1', 'meas1_2_3_2_2_2', 'meas1_2_3_2_2_3')
|
||||
redis.call('SADD', 'comptag1_2_3_2_3_measurement_keys', 'meas1_2_3_2_3_1', 'meas1_2_3_2_3_2', 'meas1_2_3_2_3_3')
|
||||
redis.call('SADD', 'comptag1_2_3_3_1_measurement_keys', 'meas1_2_3_3_1_1', 'meas1_2_3_3_1_2', 'meas1_2_3_3_1_3')
|
||||
redis.call('SADD', 'comptag1_2_3_3_2_measurement_keys', 'meas1_2_3_3_2_1', 'meas1_2_3_3_2_2', 'meas1_2_3_3_2_3')
|
||||
redis.call('SADD', 'comptag1_2_3_3_3_measurement_keys', 'meas1_2_3_3_3_1', 'meas1_2_3_3_3_2', 'meas1_2_3_3_3_3')
|
||||
redis.call('SADD', 'comptag1_3_1_1_1_measurement_keys', 'meas1_3_1_1_1_1', 'meas1_3_1_1_1_2', 'meas1_3_1_1_1_3')
|
||||
redis.call('SADD', 'comptag1_3_1_1_2_measurement_keys', 'meas1_3_1_1_2_1', 'meas1_3_1_1_2_2', 'meas1_3_1_1_2_3')
|
||||
redis.call('SADD', 'comptag1_3_1_1_3_measurement_keys', 'meas1_3_1_1_3_1', 'meas1_3_1_1_3_2', 'meas1_3_1_1_3_3')
|
||||
redis.call('SADD', 'comptag1_3_1_2_1_measurement_keys', 'meas1_3_1_2_1_1', 'meas1_3_1_2_1_2', 'meas1_3_1_2_1_3')
|
||||
redis.call('SADD', 'comptag1_3_1_2_2_measurement_keys', 'meas1_3_1_2_2_1', 'meas1_3_1_2_2_2', 'meas1_3_1_2_2_3')
|
||||
redis.call('SADD', 'comptag1_3_1_2_3_measurement_keys', 'meas1_3_1_2_3_1', 'meas1_3_1_2_3_2', 'meas1_3_1_2_3_3')
|
||||
redis.call('SADD', 'comptag1_3_1_3_1_measurement_keys', 'meas1_3_1_3_1_1', 'meas1_3_1_3_1_2', 'meas1_3_1_3_1_3')
|
||||
redis.call('SADD', 'comptag1_3_1_3_2_measurement_keys', 'meas1_3_1_3_2_1', 'meas1_3_1_3_2_2', 'meas1_3_1_3_2_3')
|
||||
redis.call('SADD', 'comptag1_3_1_3_3_measurement_keys', 'meas1_3_1_3_3_1', 'meas1_3_1_3_3_2', 'meas1_3_1_3_3_3')
|
||||
redis.call('SADD', 'comptag1_3_2_1_1_measurement_keys', 'meas1_3_2_1_1_1', 'meas1_3_2_1_1_2', 'meas1_3_2_1_1_3')
|
||||
redis.call('SADD', 'comptag1_3_2_1_2_measurement_keys', 'meas1_3_2_1_2_1', 'meas1_3_2_1_2_2', 'meas1_3_2_1_2_3')
|
||||
redis.call('SADD', 'comptag1_3_2_1_3_measurement_keys', 'meas1_3_2_1_3_1', 'meas1_3_2_1_3_2', 'meas1_3_2_1_3_3')
|
||||
redis.call('SADD', 'comptag1_3_2_2_1_measurement_keys', 'meas1_3_2_2_1_1', 'meas1_3_2_2_1_2', 'meas1_3_2_2_1_3')
|
||||
redis.call('SADD', 'comptag1_3_2_2_2_measurement_keys', 'meas1_3_2_2_2_1', 'meas1_3_2_2_2_2', 'meas1_3_2_2_2_3')
|
||||
redis.call('SADD', 'comptag1_3_2_2_3_measurement_keys', 'meas1_3_2_2_3_1', 'meas1_3_2_2_3_2', 'meas1_3_2_2_3_3')
|
||||
redis.call('SADD', 'comptag1_3_2_3_1_measurement_keys', 'meas1_3_2_3_1_1', 'meas1_3_2_3_1_2', 'meas1_3_2_3_1_3')
|
||||
redis.call('SADD', 'comptag1_3_2_3_2_measurement_keys', 'meas1_3_2_3_2_1', 'meas1_3_2_3_2_2', 'meas1_3_2_3_2_3')
|
||||
redis.call('SADD', 'comptag1_3_2_3_3_measurement_keys', 'meas1_3_2_3_3_1', 'meas1_3_2_3_3_2', 'meas1_3_2_3_3_3')
|
||||
redis.call('SADD', 'comptag1_3_3_1_1_measurement_keys', 'meas1_3_3_1_1_1', 'meas1_3_3_1_1_2', 'meas1_3_3_1_1_3')
|
||||
redis.call('SADD', 'comptag1_3_3_1_2_measurement_keys', 'meas1_3_3_1_2_1', 'meas1_3_3_1_2_2', 'meas1_3_3_1_2_3')
|
||||
redis.call('SADD', 'comptag1_3_3_1_3_measurement_keys', 'meas1_3_3_1_3_1', 'meas1_3_3_1_3_2', 'meas1_3_3_1_3_3')
|
||||
redis.call('SADD', 'comptag1_3_3_2_1_measurement_keys', 'meas1_3_3_2_1_1', 'meas1_3_3_2_1_2', 'meas1_3_3_2_1_3')
|
||||
redis.call('SADD', 'comptag1_3_3_2_2_measurement_keys', 'meas1_3_3_2_2_1', 'meas1_3_3_2_2_2', 'meas1_3_3_2_2_3')
|
||||
redis.call('SADD', 'comptag1_3_3_2_3_measurement_keys', 'meas1_3_3_2_3_1', 'meas1_3_3_2_3_2', 'meas1_3_3_2_3_3')
|
||||
redis.call('SADD', 'comptag1_3_3_3_1_measurement_keys', 'meas1_3_3_3_1_1', 'meas1_3_3_3_1_2', 'meas1_3_3_3_1_3')
|
||||
redis.call('SADD', 'comptag1_3_3_3_2_measurement_keys', 'meas1_3_3_3_2_1', 'meas1_3_3_3_2_2', 'meas1_3_3_3_2_3')
|
||||
redis.call('SADD', 'comptag1_3_3_3_3_measurement_keys', 'meas1_3_3_3_3_1', 'meas1_3_3_3_3_2', 'meas1_3_3_3_3_3')
|
||||
redis.call('SADD', 'comptag2_1_1_1_1_measurement_keys', 'meas2_1_1_1_1_1', 'meas2_1_1_1_1_2', 'meas2_1_1_1_1_3')
|
||||
redis.call('SADD', 'comptag2_1_1_1_2_measurement_keys', 'meas2_1_1_1_2_1', 'meas2_1_1_1_2_2', 'meas2_1_1_1_2_3')
|
||||
redis.call('SADD', 'comptag2_1_1_1_3_measurement_keys', 'meas2_1_1_1_3_1', 'meas2_1_1_1_3_2', 'meas2_1_1_1_3_3')
|
||||
redis.call('SADD', 'comptag2_1_1_2_1_measurement_keys', 'meas2_1_1_2_1_1', 'meas2_1_1_2_1_2', 'meas2_1_1_2_1_3')
|
||||
redis.call('SADD', 'comptag2_1_1_2_2_measurement_keys', 'meas2_1_1_2_2_1', 'meas2_1_1_2_2_2', 'meas2_1_1_2_2_3')
|
||||
redis.call('SADD', 'comptag2_1_1_2_3_measurement_keys', 'meas2_1_1_2_3_1', 'meas2_1_1_2_3_2', 'meas2_1_1_2_3_3')
|
||||
redis.call('SADD', 'comptag2_1_1_3_1_measurement_keys', 'meas2_1_1_3_1_1', 'meas2_1_1_3_1_2', 'meas2_1_1_3_1_3')
|
||||
redis.call('SADD', 'comptag2_1_1_3_2_measurement_keys', 'meas2_1_1_3_2_1', 'meas2_1_1_3_2_2', 'meas2_1_1_3_2_3')
|
||||
redis.call('SADD', 'comptag2_1_1_3_3_measurement_keys', 'meas2_1_1_3_3_1', 'meas2_1_1_3_3_2', 'meas2_1_1_3_3_3')
|
||||
redis.call('SADD', 'comptag2_1_2_1_1_measurement_keys', 'meas2_1_2_1_1_1', 'meas2_1_2_1_1_2', 'meas2_1_2_1_1_3')
|
||||
redis.call('SADD', 'comptag2_1_2_1_2_measurement_keys', 'meas2_1_2_1_2_1', 'meas2_1_2_1_2_2', 'meas2_1_2_1_2_3')
|
||||
redis.call('SADD', 'comptag2_1_2_1_3_measurement_keys', 'meas2_1_2_1_3_1', 'meas2_1_2_1_3_2', 'meas2_1_2_1_3_3')
|
||||
redis.call('SADD', 'comptag2_1_2_2_1_measurement_keys', 'meas2_1_2_2_1_1', 'meas2_1_2_2_1_2', 'meas2_1_2_2_1_3')
|
||||
redis.call('SADD', 'comptag2_1_2_2_2_measurement_keys', 'meas2_1_2_2_2_1', 'meas2_1_2_2_2_2', 'meas2_1_2_2_2_3')
|
||||
redis.call('SADD', 'comptag2_1_2_2_3_measurement_keys', 'meas2_1_2_2_3_1', 'meas2_1_2_2_3_2', 'meas2_1_2_2_3_3')
|
||||
redis.call('SADD', 'comptag2_1_2_3_1_measurement_keys', 'meas2_1_2_3_1_1', 'meas2_1_2_3_1_2', 'meas2_1_2_3_1_3')
|
||||
redis.call('SADD', 'comptag2_1_2_3_2_measurement_keys', 'meas2_1_2_3_2_1', 'meas2_1_2_3_2_2', 'meas2_1_2_3_2_3')
|
||||
redis.call('SADD', 'comptag2_1_2_3_3_measurement_keys', 'meas2_1_2_3_3_1', 'meas2_1_2_3_3_2', 'meas2_1_2_3_3_3')
|
||||
redis.call('SADD', 'comptag2_1_3_1_1_measurement_keys', 'meas2_1_3_1_1_1', 'meas2_1_3_1_1_2', 'meas2_1_3_1_1_3')
|
||||
redis.call('SADD', 'comptag2_1_3_1_2_measurement_keys', 'meas2_1_3_1_2_1', 'meas2_1_3_1_2_2', 'meas2_1_3_1_2_3')
|
||||
redis.call('SADD', 'comptag2_1_3_1_3_measurement_keys', 'meas2_1_3_1_3_1', 'meas2_1_3_1_3_2', 'meas2_1_3_1_3_3')
|
||||
redis.call('SADD', 'comptag2_1_3_2_1_measurement_keys', 'meas2_1_3_2_1_1', 'meas2_1_3_2_1_2', 'meas2_1_3_2_1_3')
|
||||
redis.call('SADD', 'comptag2_1_3_2_2_measurement_keys', 'meas2_1_3_2_2_1', 'meas2_1_3_2_2_2', 'meas2_1_3_2_2_3')
|
||||
redis.call('SADD', 'comptag2_1_3_2_3_measurement_keys', 'meas2_1_3_2_3_1', 'meas2_1_3_2_3_2', 'meas2_1_3_2_3_3')
|
||||
redis.call('SADD', 'comptag2_1_3_3_1_measurement_keys', 'meas2_1_3_3_1_1', 'meas2_1_3_3_1_2', 'meas2_1_3_3_1_3')
|
||||
redis.call('SADD', 'comptag2_1_3_3_2_measurement_keys', 'meas2_1_3_3_2_1', 'meas2_1_3_3_2_2', 'meas2_1_3_3_2_3')
|
||||
redis.call('SADD', 'comptag2_1_3_3_3_measurement_keys', 'meas2_1_3_3_3_1', 'meas2_1_3_3_3_2', 'meas2_1_3_3_3_3')
|
||||
redis.call('SADD', 'comptag2_2_1_1_1_measurement_keys', 'meas2_2_1_1_1_1', 'meas2_2_1_1_1_2', 'meas2_2_1_1_1_3')
|
||||
redis.call('SADD', 'comptag2_2_1_1_2_measurement_keys', 'meas2_2_1_1_2_1', 'meas2_2_1_1_2_2', 'meas2_2_1_1_2_3')
|
||||
redis.call('SADD', 'comptag2_2_1_1_3_measurement_keys', 'meas2_2_1_1_3_1', 'meas2_2_1_1_3_2', 'meas2_2_1_1_3_3')
|
||||
redis.call('SADD', 'comptag2_2_1_2_1_measurement_keys', 'meas2_2_1_2_1_1', 'meas2_2_1_2_1_2', 'meas2_2_1_2_1_3')
|
||||
redis.call('SADD', 'comptag2_2_1_2_2_measurement_keys', 'meas2_2_1_2_2_1', 'meas2_2_1_2_2_2', 'meas2_2_1_2_2_3')
|
||||
redis.call('SADD', 'comptag2_2_1_2_3_measurement_keys', 'meas2_2_1_2_3_1', 'meas2_2_1_2_3_2', 'meas2_2_1_2_3_3')
|
||||
redis.call('SADD', 'comptag2_2_1_3_1_measurement_keys', 'meas2_2_1_3_1_1', 'meas2_2_1_3_1_2', 'meas2_2_1_3_1_3')
|
||||
redis.call('SADD', 'comptag2_2_1_3_2_measurement_keys', 'meas2_2_1_3_2_1', 'meas2_2_1_3_2_2', 'meas2_2_1_3_2_3')
|
||||
redis.call('SADD', 'comptag2_2_1_3_3_measurement_keys', 'meas2_2_1_3_3_1', 'meas2_2_1_3_3_2', 'meas2_2_1_3_3_3')
|
||||
redis.call('SADD', 'comptag2_2_2_1_1_measurement_keys', 'meas2_2_2_1_1_1', 'meas2_2_2_1_1_2', 'meas2_2_2_1_1_3')
|
||||
redis.call('SADD', 'comptag2_2_2_1_2_measurement_keys', 'meas2_2_2_1_2_1', 'meas2_2_2_1_2_2', 'meas2_2_2_1_2_3')
|
||||
redis.call('SADD', 'comptag2_2_2_1_3_measurement_keys', 'meas2_2_2_1_3_1', 'meas2_2_2_1_3_2', 'meas2_2_2_1_3_3')
|
||||
redis.call('SADD', 'comptag2_2_2_2_1_measurement_keys', 'meas2_2_2_2_1_1', 'meas2_2_2_2_1_2', 'meas2_2_2_2_1_3')
|
||||
redis.call('SADD', 'comptag2_2_2_2_2_measurement_keys', 'meas2_2_2_2_2_1', 'meas2_2_2_2_2_2', 'meas2_2_2_2_2_3')
|
||||
redis.call('SADD', 'comptag2_2_2_2_3_measurement_keys', 'meas2_2_2_2_3_1', 'meas2_2_2_2_3_2', 'meas2_2_2_2_3_3')
|
||||
redis.call('SADD', 'comptag2_2_2_3_1_measurement_keys', 'meas2_2_2_3_1_1', 'meas2_2_2_3_1_2', 'meas2_2_2_3_1_3')
|
||||
redis.call('SADD', 'comptag2_2_2_3_2_measurement_keys', 'meas2_2_2_3_2_1', 'meas2_2_2_3_2_2', 'meas2_2_2_3_2_3')
|
||||
redis.call('SADD', 'comptag2_2_2_3_3_measurement_keys', 'meas2_2_2_3_3_1', 'meas2_2_2_3_3_2', 'meas2_2_2_3_3_3')
|
||||
redis.call('SADD', 'comptag2_2_3_1_1_measurement_keys', 'meas2_2_3_1_1_1', 'meas2_2_3_1_1_2', 'meas2_2_3_1_1_3')
|
||||
redis.call('SADD', 'comptag2_2_3_1_2_measurement_keys', 'meas2_2_3_1_2_1', 'meas2_2_3_1_2_2', 'meas2_2_3_1_2_3')
|
||||
redis.call('SADD', 'comptag2_2_3_1_3_measurement_keys', 'meas2_2_3_1_3_1', 'meas2_2_3_1_3_2', 'meas2_2_3_1_3_3')
|
||||
redis.call('SADD', 'comptag2_2_3_2_1_measurement_keys', 'meas2_2_3_2_1_1', 'meas2_2_3_2_1_2', 'meas2_2_3_2_1_3')
|
||||
redis.call('SADD', 'comptag2_2_3_2_2_measurement_keys', 'meas2_2_3_2_2_1', 'meas2_2_3_2_2_2', 'meas2_2_3_2_2_3')
|
||||
redis.call('SADD', 'comptag2_2_3_2_3_measurement_keys', 'meas2_2_3_2_3_1', 'meas2_2_3_2_3_2', 'meas2_2_3_2_3_3')
|
||||
redis.call('SADD', 'comptag2_2_3_3_1_measurement_keys', 'meas2_2_3_3_1_1', 'meas2_2_3_3_1_2', 'meas2_2_3_3_1_3')
|
||||
redis.call('SADD', 'comptag2_2_3_3_2_measurement_keys', 'meas2_2_3_3_2_1', 'meas2_2_3_3_2_2', 'meas2_2_3_3_2_3')
|
||||
redis.call('SADD', 'comptag2_2_3_3_3_measurement_keys', 'meas2_2_3_3_3_1', 'meas2_2_3_3_3_2', 'meas2_2_3_3_3_3')
|
||||
redis.call('SADD', 'comptag2_3_1_1_1_measurement_keys', 'meas2_3_1_1_1_1', 'meas2_3_1_1_1_2', 'meas2_3_1_1_1_3')
|
||||
redis.call('SADD', 'comptag2_3_1_1_2_measurement_keys', 'meas2_3_1_1_2_1', 'meas2_3_1_1_2_2', 'meas2_3_1_1_2_3')
|
||||
redis.call('SADD', 'comptag2_3_1_1_3_measurement_keys', 'meas2_3_1_1_3_1', 'meas2_3_1_1_3_2', 'meas2_3_1_1_3_3')
|
||||
redis.call('SADD', 'comptag2_3_1_2_1_measurement_keys', 'meas2_3_1_2_1_1', 'meas2_3_1_2_1_2', 'meas2_3_1_2_1_3')
|
||||
redis.call('SADD', 'comptag2_3_1_2_2_measurement_keys', 'meas2_3_1_2_2_1', 'meas2_3_1_2_2_2', 'meas2_3_1_2_2_3')
|
||||
redis.call('SADD', 'comptag2_3_1_2_3_measurement_keys', 'meas2_3_1_2_3_1', 'meas2_3_1_2_3_2', 'meas2_3_1_2_3_3')
|
||||
redis.call('SADD', 'comptag2_3_1_3_1_measurement_keys', 'meas2_3_1_3_1_1', 'meas2_3_1_3_1_2', 'meas2_3_1_3_1_3')
|
||||
redis.call('SADD', 'comptag2_3_1_3_2_measurement_keys', 'meas2_3_1_3_2_1', 'meas2_3_1_3_2_2', 'meas2_3_1_3_2_3')
|
||||
redis.call('SADD', 'comptag2_3_1_3_3_measurement_keys', 'meas2_3_1_3_3_1', 'meas2_3_1_3_3_2', 'meas2_3_1_3_3_3')
|
||||
redis.call('SADD', 'comptag2_3_2_1_1_measurement_keys', 'meas2_3_2_1_1_1', 'meas2_3_2_1_1_2', 'meas2_3_2_1_1_3')
|
||||
redis.call('SADD', 'comptag2_3_2_1_2_measurement_keys', 'meas2_3_2_1_2_1', 'meas2_3_2_1_2_2', 'meas2_3_2_1_2_3')
|
||||
redis.call('SADD', 'comptag2_3_2_1_3_measurement_keys', 'meas2_3_2_1_3_1', 'meas2_3_2_1_3_2', 'meas2_3_2_1_3_3')
|
||||
redis.call('SADD', 'comptag2_3_2_2_1_measurement_keys', 'meas2_3_2_2_1_1', 'meas2_3_2_2_1_2', 'meas2_3_2_2_1_3')
|
||||
redis.call('SADD', 'comptag2_3_2_2_2_measurement_keys', 'meas2_3_2_2_2_1', 'meas2_3_2_2_2_2', 'meas2_3_2_2_2_3')
|
||||
redis.call('SADD', 'comptag2_3_2_2_3_measurement_keys', 'meas2_3_2_2_3_1', 'meas2_3_2_2_3_2', 'meas2_3_2_2_3_3')
|
||||
redis.call('SADD', 'comptag2_3_2_3_1_measurement_keys', 'meas2_3_2_3_1_1', 'meas2_3_2_3_1_2', 'meas2_3_2_3_1_3')
|
||||
redis.call('SADD', 'comptag2_3_2_3_2_measurement_keys', 'meas2_3_2_3_2_1', 'meas2_3_2_3_2_2', 'meas2_3_2_3_2_3')
|
||||
redis.call('SADD', 'comptag2_3_2_3_3_measurement_keys', 'meas2_3_2_3_3_1', 'meas2_3_2_3_3_2', 'meas2_3_2_3_3_3')
|
||||
redis.call('SADD', 'comptag2_3_3_1_1_measurement_keys', 'meas2_3_3_1_1_1', 'meas2_3_3_1_1_2', 'meas2_3_3_1_1_3')
|
||||
redis.call('SADD', 'comptag2_3_3_1_2_measurement_keys', 'meas2_3_3_1_2_1', 'meas2_3_3_1_2_2', 'meas2_3_3_1_2_3')
|
||||
redis.call('SADD', 'comptag2_3_3_1_3_measurement_keys', 'meas2_3_3_1_3_1', 'meas2_3_3_1_3_2', 'meas2_3_3_1_3_3')
|
||||
redis.call('SADD', 'comptag2_3_3_2_1_measurement_keys', 'meas2_3_3_2_1_1', 'meas2_3_3_2_1_2', 'meas2_3_3_2_1_3')
|
||||
redis.call('SADD', 'comptag2_3_3_2_2_measurement_keys', 'meas2_3_3_2_2_1', 'meas2_3_3_2_2_2', 'meas2_3_3_2_2_3')
|
||||
redis.call('SADD', 'comptag2_3_3_2_3_measurement_keys', 'meas2_3_3_2_3_1', 'meas2_3_3_2_3_2', 'meas2_3_3_2_3_3')
|
||||
redis.call('SADD', 'comptag2_3_3_3_1_measurement_keys', 'meas2_3_3_3_1_1', 'meas2_3_3_3_1_2', 'meas2_3_3_3_1_3')
|
||||
redis.call('SADD', 'comptag2_3_3_3_2_measurement_keys', 'meas2_3_3_3_2_1', 'meas2_3_3_3_2_2', 'meas2_3_3_3_2_3')
|
||||
redis.call('SADD', 'comptag2_3_3_3_3_measurement_keys', 'meas2_3_3_3_3_1', 'meas2_3_3_3_3_2', 'meas2_3_3_3_3_3')
|
||||
redis.call('SADD', 'comptag3_1_1_1_1_measurement_keys', 'meas3_1_1_1_1_1', 'meas3_1_1_1_1_2', 'meas3_1_1_1_1_3')
|
||||
redis.call('SADD', 'comptag3_1_1_1_2_measurement_keys', 'meas3_1_1_1_2_1', 'meas3_1_1_1_2_2', 'meas3_1_1_1_2_3')
|
||||
redis.call('SADD', 'comptag3_1_1_1_3_measurement_keys', 'meas3_1_1_1_3_1', 'meas3_1_1_1_3_2', 'meas3_1_1_1_3_3')
|
||||
redis.call('SADD', 'comptag3_1_1_2_1_measurement_keys', 'meas3_1_1_2_1_1', 'meas3_1_1_2_1_2', 'meas3_1_1_2_1_3')
|
||||
redis.call('SADD', 'comptag3_1_1_2_2_measurement_keys', 'meas3_1_1_2_2_1', 'meas3_1_1_2_2_2', 'meas3_1_1_2_2_3')
|
||||
redis.call('SADD', 'comptag3_1_1_2_3_measurement_keys', 'meas3_1_1_2_3_1', 'meas3_1_1_2_3_2', 'meas3_1_1_2_3_3')
|
||||
redis.call('SADD', 'comptag3_1_1_3_1_measurement_keys', 'meas3_1_1_3_1_1', 'meas3_1_1_3_1_2', 'meas3_1_1_3_1_3')
|
||||
redis.call('SADD', 'comptag3_1_1_3_2_measurement_keys', 'meas3_1_1_3_2_1', 'meas3_1_1_3_2_2', 'meas3_1_1_3_2_3')
|
||||
redis.call('SADD', 'comptag3_1_1_3_3_measurement_keys', 'meas3_1_1_3_3_1', 'meas3_1_1_3_3_2', 'meas3_1_1_3_3_3')
|
||||
redis.call('SADD', 'comptag3_1_3_1_1_measurement_keys', 'meas3_1_3_1_1_1', 'meas3_1_3_1_1_2', 'meas3_1_3_1_1_3')
|
||||
redis.call('SADD', 'comptag3_1_3_1_2_measurement_keys', 'meas3_1_3_1_2_1', 'meas3_1_3_1_2_2', 'meas3_1_3_1_2_3')
|
||||
redis.call('SADD', 'comptag3_1_3_1_3_measurement_keys', 'meas3_1_3_1_3_1', 'meas3_1_3_1_3_2', 'meas3_1_3_1_3_3')
|
||||
redis.call('SADD', 'comptag3_1_3_2_1_measurement_keys', 'meas3_1_3_2_1_1', 'meas3_1_3_2_1_2', 'meas3_1_3_2_1_3')
|
||||
redis.call('SADD', 'comptag3_1_3_2_2_measurement_keys', 'meas3_1_3_2_2_1', 'meas3_1_3_2_2_2', 'meas3_1_3_2_2_3')
|
||||
redis.call('SADD', 'comptag3_1_3_2_3_measurement_keys', 'meas3_1_3_2_3_1', 'meas3_1_3_2_3_2', 'meas3_1_3_2_3_3')
|
||||
redis.call('SADD', 'comptag3_1_3_3_1_measurement_keys', 'meas3_1_3_3_1_1', 'meas3_1_3_3_1_2', 'meas3_1_3_3_1_3')
|
||||
redis.call('SADD', 'comptag3_1_3_3_2_measurement_keys', 'meas3_1_3_3_2_1', 'meas3_1_3_3_2_2', 'meas3_1_3_3_2_3')
|
||||
redis.call('SADD', 'comptag3_1_3_3_3_measurement_keys', 'meas3_1_3_3_3_1', 'meas3_1_3_3_3_2', 'meas3_1_3_3_3_3')
|
||||
redis.call('SADD', 'comptag3_2_1_1_1_measurement_keys', 'meas3_2_1_1_1_1', 'meas3_2_1_1_1_2', 'meas3_2_1_1_1_3')
|
||||
redis.call('SADD', 'comptag3_2_1_1_2_measurement_keys', 'meas3_2_1_1_2_1', 'meas3_2_1_1_2_2', 'meas3_2_1_1_2_3')
|
||||
redis.call('SADD', 'comptag3_2_1_1_3_measurement_keys', 'meas3_2_1_1_3_1', 'meas3_2_1_1_3_2', 'meas3_2_1_1_3_3')
|
||||
redis.call('SADD', 'comptag3_2_1_2_1_measurement_keys', 'meas3_2_1_2_1_1', 'meas3_2_1_2_1_2', 'meas3_2_1_2_1_3')
|
||||
redis.call('SADD', 'comptag3_2_1_2_2_measurement_keys', 'meas3_2_1_2_2_1', 'meas3_2_1_2_2_2', 'meas3_2_1_2_2_3')
|
||||
redis.call('SADD', 'comptag3_2_1_2_3_measurement_keys', 'meas3_2_1_2_3_1', 'meas3_2_1_2_3_2', 'meas3_2_1_2_3_3')
|
||||
redis.call('SADD', 'comptag3_2_1_3_1_measurement_keys', 'meas3_2_1_3_1_1', 'meas3_2_1_3_1_2', 'meas3_2_1_3_1_3')
|
||||
redis.call('SADD', 'comptag3_2_1_3_2_measurement_keys', 'meas3_2_1_3_2_1', 'meas3_2_1_3_2_2', 'meas3_2_1_3_2_3')
|
||||
redis.call('SADD', 'comptag3_2_1_3_3_measurement_keys', 'meas3_2_1_3_3_1', 'meas3_2_1_3_3_2', 'meas3_2_1_3_3_3')
|
||||
redis.call('SADD', 'comptag3_2_2_1_1_measurement_keys', 'meas3_2_2_1_1_1', 'meas3_2_2_1_1_2', 'meas3_2_2_1_1_3')
|
||||
redis.call('SADD', 'comptag3_2_2_1_2_measurement_keys', 'meas3_2_2_1_2_1', 'meas3_2_2_1_2_2', 'meas3_2_2_1_2_3')
|
||||
redis.call('SADD', 'comptag3_2_2_1_3_measurement_keys', 'meas3_2_2_1_3_1', 'meas3_2_2_1_3_2', 'meas3_2_2_1_3_3')
|
||||
redis.call('SADD', 'comptag3_2_2_2_1_measurement_keys', 'meas3_2_2_2_1_1', 'meas3_2_2_2_1_2', 'meas3_2_2_2_1_3')
|
||||
redis.call('SADD', 'comptag3_2_2_2_2_measurement_keys', 'meas3_2_2_2_2_1', 'meas3_2_2_2_2_2', 'meas3_2_2_2_2_3')
|
||||
redis.call('SADD', 'comptag3_2_2_2_3_measurement_keys', 'meas3_2_2_2_3_1', 'meas3_2_2_2_3_2', 'meas3_2_2_2_3_3')
|
||||
redis.call('SADD', 'comptag3_2_2_3_1_measurement_keys', 'meas3_2_2_3_1_1', 'meas3_2_2_3_1_2', 'meas3_2_2_3_1_3')
|
||||
redis.call('SADD', 'comptag3_2_2_3_2_measurement_keys', 'meas3_2_2_3_2_1', 'meas3_2_2_3_2_2', 'meas3_2_2_3_2_3')
|
||||
redis.call('SADD', 'comptag3_2_2_3_3_measurement_keys', 'meas3_2_2_3_3_1', 'meas3_2_2_3_3_2', 'meas3_2_2_3_3_3')
|
||||
redis.call('SADD', 'comptag3_2_3_1_1_measurement_keys', 'meas3_2_3_1_1_1', 'meas3_2_3_1_1_2', 'meas3_2_3_1_1_3')
|
||||
redis.call('SADD', 'comptag3_2_3_1_2_measurement_keys', 'meas3_2_3_1_2_1', 'meas3_2_3_1_2_2', 'meas3_2_3_1_2_3')
|
||||
redis.call('SADD', 'comptag3_2_3_1_3_measurement_keys', 'meas3_2_3_1_3_1', 'meas3_2_3_1_3_2', 'meas3_2_3_1_3_3')
|
||||
redis.call('SADD', 'comptag3_2_3_2_1_measurement_keys', 'meas3_2_3_2_1_1', 'meas3_2_3_2_1_2', 'meas3_2_3_2_1_3')
|
||||
redis.call('SADD', 'comptag3_2_3_2_2_measurement_keys', 'meas3_2_3_2_2_1', 'meas3_2_3_2_2_2', 'meas3_2_3_2_2_3')
|
||||
redis.call('SADD', 'comptag3_2_3_2_3_measurement_keys', 'meas3_2_3_2_3_1', 'meas3_2_3_2_3_2', 'meas3_2_3_2_3_3')
|
||||
redis.call('SADD', 'comptag3_2_3_3_1_measurement_keys', 'meas3_2_3_3_1_1', 'meas3_2_3_3_1_2', 'meas3_2_3_3_1_3')
|
||||
redis.call('SADD', 'comptag3_2_3_3_2_measurement_keys', 'meas3_2_3_3_2_1', 'meas3_2_3_3_2_2', 'meas3_2_3_3_2_3')
|
||||
redis.call('SADD', 'comptag3_2_3_3_3_measurement_keys', 'meas3_2_3_3_3_1', 'meas3_2_3_3_3_2', 'meas3_2_3_3_3_3')
|
||||
redis.call('SADD', 'comptag3_3_1_1_1_measurement_keys', 'meas3_3_1_1_1_1', 'meas3_3_1_1_1_2', 'meas3_3_1_1_1_3')
|
||||
redis.call('SADD', 'comptag3_3_1_1_2_measurement_keys', 'meas3_3_1_1_2_1', 'meas3_3_1_1_2_2', 'meas3_3_1_1_2_3')
|
||||
redis.call('SADD', 'comptag3_3_1_1_3_measurement_keys', 'meas3_3_1_1_3_1', 'meas3_3_1_1_3_2', 'meas3_3_1_1_3_3')
|
||||
redis.call('SADD', 'comptag3_3_1_2_1_measurement_keys', 'meas3_3_1_2_1_1', 'meas3_3_1_2_1_2', 'meas3_3_1_2_1_3')
|
||||
redis.call('SADD', 'comptag3_3_1_2_2_measurement_keys', 'meas3_3_1_2_2_1', 'meas3_3_1_2_2_2', 'meas3_3_1_2_2_3')
|
||||
redis.call('SADD', 'comptag3_3_1_2_3_measurement_keys', 'meas3_3_1_2_3_1', 'meas3_3_1_2_3_2', 'meas3_3_1_2_3_3')
|
||||
redis.call('SADD', 'comptag3_3_1_3_1_measurement_keys', 'meas3_3_1_3_1_1', 'meas3_3_1_3_1_2', 'meas3_3_1_3_1_3')
|
||||
redis.call('SADD', 'comptag3_3_1_3_2_measurement_keys', 'meas3_3_1_3_2_1', 'meas3_3_1_3_2_2', 'meas3_3_1_3_2_3')
|
||||
redis.call('SADD', 'comptag3_3_1_3_3_measurement_keys', 'meas3_3_1_3_3_1', 'meas3_3_1_3_3_2', 'meas3_3_1_3_3_3')
|
||||
redis.call('SADD', 'comptag3_3_2_1_1_measurement_keys', 'meas3_3_2_1_1_1', 'meas3_3_2_1_1_2', 'meas3_3_2_1_1_3')
|
||||
redis.call('SADD', 'comptag3_3_2_1_2_measurement_keys', 'meas3_3_2_1_2_1', 'meas3_3_2_1_2_2', 'meas3_3_2_1_2_3')
|
||||
redis.call('SADD', 'comptag3_3_2_1_3_measurement_keys', 'meas3_3_2_1_3_1', 'meas3_3_2_1_3_2', 'meas3_3_2_1_3_3')
|
||||
redis.call('SADD', 'comptag3_3_2_2_1_measurement_keys', 'meas3_3_2_2_1_1', 'meas3_3_2_2_1_2', 'meas3_3_2_2_1_3')
|
||||
redis.call('SADD', 'comptag3_3_2_2_2_measurement_keys', 'meas3_3_2_2_2_1', 'meas3_3_2_2_2_2', 'meas3_3_2_2_2_3')
|
||||
redis.call('SADD', 'comptag3_3_2_2_3_measurement_keys', 'meas3_3_2_2_3_1', 'meas3_3_2_2_3_2', 'meas3_3_2_2_3_3')
|
||||
redis.call('SADD', 'comptag3_3_2_3_1_measurement_keys', 'meas3_3_2_3_1_1', 'meas3_3_2_3_1_2', 'meas3_3_2_3_1_3')
|
||||
redis.call('SADD', 'comptag3_3_2_3_2_measurement_keys', 'meas3_3_2_3_2_1', 'meas3_3_2_3_2_2', 'meas3_3_2_3_2_3')
|
||||
redis.call('SADD', 'comptag3_3_2_3_3_measurement_keys', 'meas3_3_2_3_3_1', 'meas3_3_2_3_3_2', 'meas3_3_2_3_3_3')
|
||||
redis.call('SADD', 'comptag3_3_3_1_1_measurement_keys', 'meas3_3_3_1_1_1', 'meas3_3_3_1_1_2', 'meas3_3_3_1_1_3')
|
||||
redis.call('SADD', 'comptag3_3_3_1_2_measurement_keys', 'meas3_3_3_1_2_1', 'meas3_3_3_1_2_2', 'meas3_3_3_1_2_3')
|
||||
redis.call('SADD', 'comptag3_3_3_1_3_measurement_keys', 'meas3_3_3_1_3_1', 'meas3_3_3_1_3_2', 'meas3_3_3_1_3_3')
|
||||
redis.call('SADD', 'comptag3_3_3_2_1_measurement_keys', 'meas3_3_3_2_1_1', 'meas3_3_3_2_1_2', 'meas3_3_3_2_1_3')
|
||||
redis.call('SADD', 'comptag3_3_3_2_2_measurement_keys', 'meas3_3_3_2_2_1', 'meas3_3_3_2_2_2', 'meas3_3_3_2_2_3')
|
||||
redis.call('SADD', 'comptag3_3_3_2_3_measurement_keys', 'meas3_3_3_2_3_1', 'meas3_3_3_2_3_2', 'meas3_3_3_2_3_3')
|
||||
redis.call('SADD', 'comptag3_3_3_3_1_measurement_keys', 'meas3_3_3_3_1_1', 'meas3_3_3_3_1_2', 'meas3_3_3_3_1_3')
|
||||
redis.call('SADD', 'comptag3_3_3_3_2_measurement_keys', 'meas3_3_3_3_2_1', 'meas3_3_3_3_2_2', 'meas3_3_3_3_2_3')
|
||||
redis.call('SADD', 'comptag3_3_3_3_3_measurement_keys', 'meas3_3_3_3_3_1', 'meas3_3_3_3_3_2', 'meas3_3_3_3_3_3')
|
||||
|
||||
local dict_key = 'search_suggestions_dict'
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_3', 1)
|
||||
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_2.station1_2_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_2.station1_2_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_2.station1_2_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_3.station1_3_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_3.station1_3_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_3.station1_3_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone2_1.station2_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone2_1.station2_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone2_1.station2_1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone2_2.station2_2_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone2_2.station2_2_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone2_2.station2_2_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone2_3.station2_3_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone2_3.station2_3_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone2_3.station2_3_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone3_1.station3_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone3_1.station3_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone3_1.station3_1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone3_2.station3_2_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone3_2.station3_2_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone3_2.station3_2_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone3_3.station3_3_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone3_3.station3_3_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone3_3.station3_3_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone1_1.station1_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone1_1.station1_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone1_1.station1_1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone1_2.station1_2_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone1_2.station1_2_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone1_2.station1_2_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone1_3.station1_3_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone1_3.station1_3_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone1_3.station1_3_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_1.station2_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_1.station2_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_1.station2_1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_2.station2_2_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_2.station2_2_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_2.station2_2_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_3.station2_3_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_3.station2_3_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone2_3.station2_3_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone3_1.station3_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone3_1.station3_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone3_1.station3_1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone3_2.station3_2_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone3_2.station3_2_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone3_2.station3_2_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone3_3.station3_3_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone3_3.station3_3_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid2.zone3_3.station3_3_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone1_1.station1_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone1_1.station1_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone1_1.station1_1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone1_2.station1_2_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone1_2.station1_2_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone1_2.station1_2_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone1_3.station1_3_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone1_3.station1_3_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone1_3.station1_3_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone2_1.station2_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone2_1.station2_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone2_1.station2_1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone2_2.station2_2_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone2_2.station2_2_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone2_2.station2_2_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone2_3.station2_3_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone2_3.station2_3_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone2_3.station2_3_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_1.station3_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_1.station3_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_1.station3_1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_2.station3_2_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_2.station3_2_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_2.station3_2_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_3.station3_3_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_3.station3_3_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid3.zone3_3.station3_3_3', 1)
|
||||
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_1.ns1_1_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_1.ns1_1_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_1.ns1_1_1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_2.ns1_1_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_2.ns1_1_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_2.ns1_1_1_3', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_3.ns1_1_1_1', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_3.ns1_1_1_2', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'grid1.zone1_1.station1_1_3.ns1_1_1_3', 1)
|
||||
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220_35', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220_36', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220.I_A_rms', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220.I_B_rms', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220.I_C_rms', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220_35.I_A_rms', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220_35.I_B_rms', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220_35.I_C_rms', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220_36.I_A_rms', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220_36.I_B_rms', 1)
|
||||
redis.call('FT.SUGADD', dict_key, 'transformfeeder1_220_36.I_C_rms', 1)
|
||||
|
||||
return 'OK'
|
||||
```
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import (
|
|||
"modelRT/logger"
|
||||
"modelRT/model"
|
||||
"modelRT/network"
|
||||
"modelRT/util"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
|
@ -17,19 +18,19 @@ import (
|
|||
// @Tags Measurement Recommend
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param。 input query string true "推荐关键词,例如 'trans' 或 'transformfeeder1_220.'" Example("trans")
|
||||
// @Param input query string true "推荐关键词,例如 'grid1' 或 'grid1.'" Example("grid1")
|
||||
// @Success 200 {object} network.SuccessResponse{payload=network.MeasurementRecommendPayload} "返回推荐列表成功"
|
||||
//
|
||||
// @Example 200 {
|
||||
// "code": 200,
|
||||
// "msg": "success",
|
||||
// "payload": {
|
||||
// "input": "transformfeeder1_220.",
|
||||
// "input": "grid1.zone1.station1.ns1.tag1.bay.",
|
||||
// "offset": 21,
|
||||
// "recommended_list": [
|
||||
// "I_A_rms",
|
||||
// "I_B_rms",
|
||||
// "I_C_rms",
|
||||
// "I11_A_rms",
|
||||
// "I11_B_rms.",
|
||||
// "I11_C_rms.",
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
|
|
@ -71,7 +72,7 @@ func MeasurementRecommendHandler(c *gin.Context) {
|
|||
if isFuzzy {
|
||||
var maxOffset int
|
||||
for index, recommend := range recommends {
|
||||
offset := model.GetLongestCommonPrefixLength(request.Input, recommend)
|
||||
offset := util.GetLongestCommonPrefixLength(request.Input, recommend)
|
||||
if index == 0 || offset > maxOffset {
|
||||
maxOffset = offset
|
||||
}
|
||||
|
|
@ -80,7 +81,7 @@ func MeasurementRecommendHandler(c *gin.Context) {
|
|||
} else {
|
||||
var minOffset int
|
||||
for index, recommend := range recommends {
|
||||
offset := model.GetLongestCommonPrefixLength(request.Input, recommend)
|
||||
offset := util.GetLongestCommonPrefixLength(request.Input, recommend)
|
||||
if index == 0 || offset < minOffset {
|
||||
minOffset = offset
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,203 @@ func InitAutocompleterWithPool(pool *redigo.Pool) {
|
|||
func RedisSearchRecommend(ctx context.Context, input string) ([]string, bool, error) {
|
||||
rdb := diagram.GetRedisClientInstance()
|
||||
|
||||
if input == "" {
|
||||
// return all grid tagname
|
||||
return getKeyBySpecificsLevel(ctx, rdb, 1, input)
|
||||
}
|
||||
|
||||
inputSlice := strings.Split(input, ".")
|
||||
inputSliceLen := len(inputSlice)
|
||||
|
||||
switch inputSliceLen {
|
||||
case 1:
|
||||
// grid tagname search
|
||||
gridSearchInput := inputSlice[0]
|
||||
gridExists, err := rdb.SIsMember(ctx, constants.RedisAllGridSetKey, gridSearchInput).Result()
|
||||
if err != nil {
|
||||
logger.Error(ctx, "check grid key exist failed ", "grid_key", input, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
if gridExists {
|
||||
return []string{"."}, false, nil
|
||||
}
|
||||
|
||||
// start grid tagname fuzzy search
|
||||
recommends, err := runFuzzySearch(ctx, gridSearchInput, inputSliceLen)
|
||||
if err != nil {
|
||||
logger.Error(ctx, "fuzzy search failed for level 1", "search_input", gridSearchInput, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
if len(recommends) > 0 {
|
||||
return recommends, true, nil
|
||||
}
|
||||
return []string{}, true, nil
|
||||
|
||||
case 2:
|
||||
return handleLevelFuzzySearch(ctx, rdb, 2, constants.RedisAllZoneSetKey, inputSlice)
|
||||
case 3:
|
||||
return handleLevelFuzzySearch(ctx, rdb, 3, constants.RedisAllStationSetKey, inputSlice)
|
||||
case 4:
|
||||
return handleLevelFuzzySearch(ctx, rdb, 4, constants.RedisAllCompNSPathSetKey, inputSlice)
|
||||
case 5:
|
||||
return handleLevelFuzzySearch(ctx, rdb, 5, constants.RedisAllCompTagSetKey, inputSlice)
|
||||
case 6:
|
||||
return handleLevelFuzzySearch(ctx, rdb, 6, constants.RedisAllConfigSetKey, inputSlice)
|
||||
case 7:
|
||||
return handleLevelFuzzySearch(ctx, rdb, 7, constants.RedisAllMeasTagSetKey, inputSlice)
|
||||
|
||||
default:
|
||||
logger.Error(ctx, "unsupport length of search input", "input_len", inputSliceLen)
|
||||
return []string{}, false, nil
|
||||
}
|
||||
}
|
||||
|
||||
func getKeyBySpecificsLevel(ctx context.Context, rdb *redis.Client, inputLen int, input string) ([]string, bool, error) {
|
||||
queryKey := getSpecificKeyByLength(inputLen, input)
|
||||
results, err := rdb.SMembers(ctx, queryKey).Result()
|
||||
if err != nil {
|
||||
return []string{}, false, fmt.Errorf("get all keys failed, error: %w", err)
|
||||
}
|
||||
return results, false, nil
|
||||
}
|
||||
|
||||
func combineQueryResultByInput(inputSliceLen int, inputSlice []string, queryResults []string) []string {
|
||||
prefixs := make([]string, 0, len(inputSlice))
|
||||
recommandResults := make([]string, 0, len(queryResults))
|
||||
switch inputSliceLen {
|
||||
case 2:
|
||||
prefixs = []string{inputSlice[0]}
|
||||
case 3:
|
||||
prefixs = inputSlice[0:2]
|
||||
case 4:
|
||||
prefixs = inputSlice[0:3]
|
||||
case 5:
|
||||
prefixs = inputSlice[0:4]
|
||||
case 6:
|
||||
prefixs = inputSlice[0:5]
|
||||
case 7:
|
||||
prefixs = inputSlice[0:6]
|
||||
default:
|
||||
return []string{}
|
||||
}
|
||||
|
||||
for _, queryResult := range queryResults {
|
||||
combineStrs := make([]string, 0, len(inputSlice))
|
||||
combineStrs = append(combineStrs, prefixs...)
|
||||
combineStrs = append(combineStrs, queryResult)
|
||||
recommandResult := strings.Join(combineStrs, ".")
|
||||
recommandResults = append(recommandResults, recommandResult)
|
||||
}
|
||||
return recommandResults
|
||||
}
|
||||
|
||||
func getSpecificKeyByLength(inputLen int, input string) string {
|
||||
switch inputLen {
|
||||
case 1:
|
||||
return constants.RedisAllGridSetKey
|
||||
case 2:
|
||||
return fmt.Sprintf(constants.RedisSpecGridZoneSetKey, input)
|
||||
case 3:
|
||||
return fmt.Sprintf(constants.RedisSpecZoneStationSetKey, input)
|
||||
case 4:
|
||||
return fmt.Sprintf(constants.RedisSpecStationCompNSPATHSetKey, input)
|
||||
case 5:
|
||||
return fmt.Sprintf(constants.RedisSpecStationCompTagSetKey, input)
|
||||
case 6:
|
||||
return constants.RedisAllConfigSetKey
|
||||
case 7:
|
||||
return fmt.Sprintf(constants.RedisSpecCompTagMeasSetKey, input)
|
||||
default:
|
||||
return constants.RedisAllGridSetKey
|
||||
}
|
||||
}
|
||||
|
||||
// handleLevelFuzzySearch define func to process recommendation logic for specific levels(level >= 2)
|
||||
func handleLevelFuzzySearch(ctx context.Context, rdb *redis.Client, level int, keySetKey string, inputSlice []string) ([]string, bool, error) {
|
||||
searchInputIndex := level - 1
|
||||
searchInput := inputSlice[searchInputIndex]
|
||||
|
||||
if searchInput == "" {
|
||||
var specificalKey string
|
||||
specificalKeyIndex := searchInputIndex - 1
|
||||
if specificalKeyIndex >= 0 {
|
||||
specificalKey = inputSlice[specificalKeyIndex]
|
||||
}
|
||||
|
||||
allResults, isFuzzy, err := getKeyBySpecificsLevel(ctx, rdb, level, specificalKey)
|
||||
if err != nil {
|
||||
return []string{}, false, err
|
||||
}
|
||||
recommandResults := combineQueryResultByInput(level, inputSlice, allResults)
|
||||
return recommandResults, isFuzzy, nil
|
||||
}
|
||||
|
||||
keyExists, err := rdb.SIsMember(ctx, keySetKey, searchInput).Result()
|
||||
if err != nil {
|
||||
logger.Error(ctx, "check key exist failed ", "key", searchInput, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
if keyExists {
|
||||
return []string{"."}, false, nil
|
||||
}
|
||||
|
||||
// start redis fuzzy search
|
||||
recommends, err := runFuzzySearch(ctx, searchInput, level)
|
||||
if err != nil {
|
||||
logger.Error(ctx, "fuzzy search failed for level", "level", level, "search_input", searchInput, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
if len(recommends) == 0 {
|
||||
logger.Error(ctx, "fuzzy search without result", "level", level, "search_input", searchInput, "error", err)
|
||||
return []string{}, true, nil
|
||||
}
|
||||
return combineQueryResultByInput(level, inputSlice, recommends), true, nil
|
||||
}
|
||||
|
||||
// runFuzzySearch define func to process redis fuzzy search
|
||||
func runFuzzySearch(ctx context.Context, searchInput string, inputSliceLen int) ([]string, error) {
|
||||
searchInputLen := len(searchInput)
|
||||
|
||||
for searchInputLen != 0 {
|
||||
results, err := ac.SuggestOpts(searchInput, redisearch.SuggestOptions{
|
||||
Num: math.MaxInt16,
|
||||
Fuzzy: true,
|
||||
WithScores: false,
|
||||
WithPayloads: false,
|
||||
})
|
||||
if err != nil {
|
||||
logger.Error(ctx, "query key by redis fuzzy search failed", "query_key", searchInput, "error", err)
|
||||
return nil, fmt.Errorf("redisearch suggest failed: %w", err)
|
||||
}
|
||||
|
||||
if len(results) == 0 {
|
||||
// 如果没有结果,退一步(删除最后一个字节)并继续循环
|
||||
// TODO 考虑使用其他方式代替 for 循环退一字节的查询方式
|
||||
searchInput = searchInput[:len(searchInput)-1]
|
||||
searchInputLen = len(searchInput)
|
||||
continue
|
||||
}
|
||||
|
||||
var recommends []string
|
||||
for _, result := range results {
|
||||
termSlice := strings.Split(result.Term, ".")
|
||||
if len(termSlice) <= inputSliceLen {
|
||||
recommends = append(recommends, result.Term)
|
||||
}
|
||||
}
|
||||
return recommends, nil
|
||||
}
|
||||
return []string{}, nil
|
||||
}
|
||||
|
||||
// RedisSearchRecommend1 define func of redis search by input string and return recommend results
|
||||
func RedisSearchRecommend1(ctx context.Context, input string) ([]string, bool, error) {
|
||||
rdb := diagram.GetRedisClientInstance()
|
||||
|
||||
if input == "" {
|
||||
// 返回所有 grid 名
|
||||
return getKeyBySpecificsLevel(ctx, rdb, 1, input)
|
||||
|
|
@ -37,7 +234,7 @@ func RedisSearchRecommend(ctx context.Context, input string) ([]string, bool, er
|
|||
|
||||
switch inputSliceLen {
|
||||
case 1:
|
||||
// grid search
|
||||
// grid tagname search
|
||||
gridSearchInput := inputSlice[0]
|
||||
gridExists, err := rdb.SIsMember(ctx, constants.RedisAllGridSetKey, gridSearchInput).Result()
|
||||
if err != nil {
|
||||
|
|
@ -49,7 +246,7 @@ func RedisSearchRecommend(ctx context.Context, input string) ([]string, bool, er
|
|||
return []string{"."}, false, err
|
||||
}
|
||||
|
||||
// start grid fuzzy search
|
||||
// start grid tagname fuzzy search
|
||||
searchInput := gridSearchInput
|
||||
searchInputLen := len(searchInput)
|
||||
for searchInputLen != 0 && !gridExists {
|
||||
|
|
@ -82,7 +279,7 @@ func RedisSearchRecommend(ctx context.Context, input string) ([]string, bool, er
|
|||
return recommends, true, nil
|
||||
}
|
||||
case 2:
|
||||
// zone search
|
||||
// zone tagname search
|
||||
zoneSearchInput := inputSlice[1]
|
||||
if zoneSearchInput == "" {
|
||||
specificalGrid := inputSlice[0]
|
||||
|
|
@ -101,7 +298,7 @@ func RedisSearchRecommend(ctx context.Context, input string) ([]string, bool, er
|
|||
return []string{"."}, false, err
|
||||
}
|
||||
|
||||
// start zone fuzzy search
|
||||
// start zone tagname fuzzy search
|
||||
searchInput := zoneSearchInput
|
||||
searchInputLen := len(searchInput)
|
||||
for searchInputLen != 0 && !zoneExists {
|
||||
|
|
@ -134,9 +331,8 @@ func RedisSearchRecommend(ctx context.Context, input string) ([]string, bool, er
|
|||
return combineQueryResultByInput(inputSliceLen, inputSlice, recommends), true, nil
|
||||
}
|
||||
case 3:
|
||||
// station search
|
||||
// station tagname search
|
||||
stationSearchInput := inputSlice[2]
|
||||
fmt.Println(stationSearchInput)
|
||||
if stationSearchInput == "" {
|
||||
specificalZone := inputSlice[1]
|
||||
allStations, isFuzzy, err := getKeyBySpecificsLevel(ctx, rdb, inputSliceLen, specificalZone)
|
||||
|
|
@ -154,7 +350,7 @@ func RedisSearchRecommend(ctx context.Context, input string) ([]string, bool, er
|
|||
return []string{"."}, false, err
|
||||
}
|
||||
|
||||
// start grid fuzzy search
|
||||
// start station tagname fuzzy search
|
||||
searchInput := stationSearchInput
|
||||
searchInputLen := len(searchInput)
|
||||
for searchInputLen != 0 && !stationExists {
|
||||
|
|
@ -188,28 +384,28 @@ func RedisSearchRecommend(ctx context.Context, input string) ([]string, bool, er
|
|||
}
|
||||
case 4:
|
||||
// component nspath search
|
||||
componentSearchInput := inputSlice[3]
|
||||
if componentSearchInput == "" {
|
||||
specificalStation := inputSlice[1]
|
||||
allComponents, isFuzzy, err := getKeyBySpecificsLevel(ctx, rdb, inputSliceLen, specificalStation)
|
||||
recommandResults := combineQueryResultByInput(inputSliceLen, inputSlice, allComponents)
|
||||
compNSPSearchInput := inputSlice[3]
|
||||
if compNSPSearchInput == "" {
|
||||
specificalStation := inputSlice[2]
|
||||
allCompNSPaths, isFuzzy, err := getKeyBySpecificsLevel(ctx, rdb, inputSliceLen, specificalStation)
|
||||
recommandResults := combineQueryResultByInput(inputSliceLen, inputSlice, allCompNSPaths)
|
||||
return recommandResults, isFuzzy, err
|
||||
}
|
||||
|
||||
componentExists, err := rdb.SIsMember(ctx, constants.RedisAllStationSetKey, componentSearchInput).Result()
|
||||
compNSPathExists, err := rdb.SIsMember(ctx, constants.RedisAllCompNSPathSetKey, compNSPSearchInput).Result()
|
||||
if err != nil {
|
||||
logger.Error(ctx, "check component key exist failed ", "component_key", componentSearchInput, "error", err)
|
||||
logger.Error(ctx, "check component nspath key exist failed ", "component_nspath_key", compNSPSearchInput, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
if componentExists {
|
||||
if compNSPathExists {
|
||||
return []string{"."}, false, err
|
||||
}
|
||||
|
||||
// start grid fuzzy search
|
||||
searchInput := componentSearchInput
|
||||
searchInput := compNSPSearchInput
|
||||
searchInputLen := len(searchInput)
|
||||
for searchInputLen != 0 && !componentExists {
|
||||
for searchInputLen != 0 && !compNSPathExists {
|
||||
results, err := ac.SuggestOpts(searchInput, redisearch.SuggestOptions{
|
||||
Num: math.MaxInt16,
|
||||
Fuzzy: true,
|
||||
|
|
@ -217,7 +413,7 @@ func RedisSearchRecommend(ctx context.Context, input string) ([]string, bool, er
|
|||
WithPayloads: false,
|
||||
})
|
||||
if err != nil {
|
||||
logger.Error(ctx, "query station key by redis fuzzy search failed", "query_key", searchInput, "error", err)
|
||||
logger.Error(ctx, "query component nspath key by redis fuzzy search failed", "query_key", searchInput, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
|
|
@ -241,47 +437,28 @@ func RedisSearchRecommend(ctx context.Context, input string) ([]string, bool, er
|
|||
case 5:
|
||||
// component tag search
|
||||
compTagSearchInput := inputSlice[4]
|
||||
fmt.Println(compTagSearchInput)
|
||||
case 6:
|
||||
// configuration search
|
||||
configSearchInput := inputSlice[5]
|
||||
fmt.Println(configSearchInput)
|
||||
case 7:
|
||||
// measurement search
|
||||
measSearchInput := inputSlice[6]
|
||||
fmt.Println(measSearchInput)
|
||||
default:
|
||||
lastInput := inputSlice[inputSliceLen-1]
|
||||
// 判断 queryKey 是否是空值,空值则返回上一级别下的所有key
|
||||
if lastInput == "" {
|
||||
setKey := getCombinedConstantsKeyByLength(inputSlice[inputSliceLen-2], inputSliceLen)
|
||||
targetSet := diagram.NewRedisSet(ctx, setKey, 10, true)
|
||||
keys, err := targetSet.SMembers(setKey)
|
||||
if compTagSearchInput == "" {
|
||||
// TODO 优化考虑是否使用 station 作为 key 的一部分
|
||||
specificalStation := inputSlice[2]
|
||||
allCompNSPaths, isFuzzy, err := getKeyBySpecificsLevel(ctx, rdb, inputSliceLen, specificalStation)
|
||||
recommandResults := combineQueryResultByInput(inputSliceLen, inputSlice, allCompNSPaths)
|
||||
return recommandResults, isFuzzy, err
|
||||
}
|
||||
|
||||
compTagExists, err := rdb.SIsMember(ctx, constants.RedisAllCompTagSetKey, compTagSearchInput).Result()
|
||||
if err != nil {
|
||||
logger.Error(ctx, "get all recommend key by setKey failed", "set_key", setKey, "error", err)
|
||||
return []string{}, false, fmt.Errorf("get all recommend key by setKey failed,%w", err)
|
||||
logger.Error(ctx, "check component tag key exist failed ", "component_tag_key", compTagSearchInput, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
var results []string
|
||||
for _, key := range keys {
|
||||
result := input + key
|
||||
results = append(results, result)
|
||||
}
|
||||
return results, false, nil
|
||||
if compTagExists {
|
||||
return []string{"."}, false, err
|
||||
}
|
||||
|
||||
setKey := getCombinedConstantsKeyByLength(inputSlice[inputSliceLen-2], inputSliceLen)
|
||||
targetSet := diagram.NewRedisSet(ctx, setKey, 10, true)
|
||||
exist, err := targetSet.SIsMember(setKey, lastInput)
|
||||
if err != nil {
|
||||
logger.Error(ctx, "check keys exist failed", "set_key", setKey, "query_key", lastInput, "error", err)
|
||||
return []string{}, false, fmt.Errorf("check keys failed,%w", err)
|
||||
}
|
||||
|
||||
searchInput := input
|
||||
inputLen := len(searchInput)
|
||||
for inputLen != 0 && !exist {
|
||||
logger.Info(ctx, "use fuzzy query", "input", input)
|
||||
// start grid fuzzy search
|
||||
searchInput := compTagSearchInput
|
||||
searchInputLen := len(searchInput)
|
||||
for searchInputLen != 0 && !compTagExists {
|
||||
results, err := ac.SuggestOpts(searchInput, redisearch.SuggestOptions{
|
||||
Num: math.MaxInt16,
|
||||
Fuzzy: true,
|
||||
|
|
@ -289,113 +466,135 @@ func RedisSearchRecommend(ctx context.Context, input string) ([]string, bool, er
|
|||
WithPayloads: false,
|
||||
})
|
||||
if err != nil {
|
||||
logger.Error(ctx, "query info by fuzzy failed", "query_key", input, "error", err)
|
||||
logger.Error(ctx, "query component tag key by redis fuzzy search failed", "query_key", searchInput, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
if len(results) == 0 {
|
||||
searchInput = input[:inputLen-1]
|
||||
inputLen = len(searchInput)
|
||||
// TODO 考虑使用其他方式代替 for 循环退一字节的查询方式
|
||||
searchInput = searchInput[:len(searchInput)-1]
|
||||
searchInputLen = len(searchInput)
|
||||
continue
|
||||
}
|
||||
|
||||
var terms []string
|
||||
var recommends []string
|
||||
for _, result := range results {
|
||||
terms = append(terms, result.Term)
|
||||
termSlice := strings.Split(result.Term, ".")
|
||||
if len(termSlice) <= inputSliceLen {
|
||||
recommends = append(recommends, result.Term)
|
||||
}
|
||||
// 返回模糊查询结果
|
||||
return terms, true, nil
|
||||
}
|
||||
return []string{input}, false, nil
|
||||
// return fuzzy search results
|
||||
return combineQueryResultByInput(inputSliceLen, inputSlice, recommends), true, nil
|
||||
}
|
||||
case 6:
|
||||
// configuration search
|
||||
// TODO 优化
|
||||
configSearchInput := inputSlice[5]
|
||||
if configSearchInput == "" {
|
||||
allCompNSPaths, isFuzzy, err := getKeyBySpecificsLevel(ctx, rdb, inputSliceLen, "")
|
||||
recommandResults := combineQueryResultByInput(inputSliceLen, inputSlice, allCompNSPaths)
|
||||
return recommandResults, isFuzzy, err
|
||||
}
|
||||
|
||||
configExists, err := rdb.SIsMember(ctx, constants.RedisAllConfigSetKey, configSearchInput).Result()
|
||||
if err != nil {
|
||||
logger.Error(ctx, "check config key exist failed ", "config_key", configSearchInput, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
if configExists {
|
||||
return []string{"."}, false, err
|
||||
}
|
||||
|
||||
// start grid fuzzy search
|
||||
searchInput := configSearchInput
|
||||
searchInputLen := len(searchInput)
|
||||
for searchInputLen != 0 && !configExists {
|
||||
results, err := ac.SuggestOpts(searchInput, redisearch.SuggestOptions{
|
||||
Num: math.MaxInt16,
|
||||
Fuzzy: true,
|
||||
WithScores: false,
|
||||
WithPayloads: false,
|
||||
})
|
||||
if err != nil {
|
||||
logger.Error(ctx, "query config key by redis fuzzy search failed", "query_key", searchInput, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
if len(results) == 0 {
|
||||
// TODO 考虑使用其他方式代替 for 循环退一字节的查询方式
|
||||
searchInput = searchInput[:len(searchInput)-1]
|
||||
searchInputLen = len(searchInput)
|
||||
continue
|
||||
}
|
||||
|
||||
var recommends []string
|
||||
for _, result := range results {
|
||||
termSlice := strings.Split(result.Term, ".")
|
||||
if len(termSlice) <= inputSliceLen {
|
||||
recommends = append(recommends, result.Term)
|
||||
}
|
||||
}
|
||||
// return fuzzy search results
|
||||
return combineQueryResultByInput(inputSliceLen, inputSlice, recommends), true, nil
|
||||
}
|
||||
case 7:
|
||||
// measurement search
|
||||
measSearchInput := inputSlice[6]
|
||||
if measSearchInput == "" {
|
||||
// use compoent tag for redis unique key prefix
|
||||
specificalCompTag := inputSlice[4]
|
||||
allMeasTags, isFuzzy, err := getKeyBySpecificsLevel(ctx, rdb, inputSliceLen, specificalCompTag)
|
||||
recommandResults := combineQueryResultByInput(inputSliceLen, inputSlice, allMeasTags)
|
||||
return recommandResults, isFuzzy, err
|
||||
}
|
||||
|
||||
measTagExists, err := rdb.SIsMember(ctx, constants.RedisAllMeasTagSetKey, measSearchInput).Result()
|
||||
if err != nil {
|
||||
logger.Error(ctx, "check component tag key exist failed ", "component_tag_key", measSearchInput, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
if measTagExists {
|
||||
return []string{"."}, false, err
|
||||
}
|
||||
|
||||
// start measurement tag fuzzy search
|
||||
searchInput := measSearchInput
|
||||
searchInputLen := len(searchInput)
|
||||
for searchInputLen != 0 && !measTagExists {
|
||||
results, err := ac.SuggestOpts(searchInput, redisearch.SuggestOptions{
|
||||
Num: math.MaxInt16,
|
||||
Fuzzy: true,
|
||||
WithScores: false,
|
||||
WithPayloads: false,
|
||||
})
|
||||
if err != nil {
|
||||
logger.Error(ctx, "query measurement tag key by redis fuzzy search failed", "query_key", searchInput, "error", err)
|
||||
return []string{}, false, err
|
||||
}
|
||||
|
||||
if len(results) == 0 {
|
||||
// TODO 考虑使用其他方式代替 for 循环退一字节的查询方式
|
||||
searchInput = searchInput[:len(searchInput)-1]
|
||||
searchInputLen = len(searchInput)
|
||||
continue
|
||||
}
|
||||
|
||||
var recommends []string
|
||||
for _, result := range results {
|
||||
termSlice := strings.Split(result.Term, ".")
|
||||
if len(termSlice) <= inputSliceLen {
|
||||
recommends = append(recommends, result.Term)
|
||||
}
|
||||
}
|
||||
// return fuzzy search results
|
||||
return combineQueryResultByInput(inputSliceLen, inputSlice, recommends), true, nil
|
||||
}
|
||||
default:
|
||||
logger.Error(ctx, "unsupport length of search input", "input_len", inputSliceLen)
|
||||
return []string{}, false, nil
|
||||
}
|
||||
return []string{}, false, nil
|
||||
}
|
||||
|
||||
func getKeyBySpecificsLevel(ctx context.Context, rdb *redis.Client, inputLen int, input string) ([]string, bool, error) {
|
||||
queryKey := getSpecificKeyByLength(inputLen, input)
|
||||
results, err := rdb.SMembers(ctx, queryKey).Result()
|
||||
if err != nil {
|
||||
return []string{}, false, fmt.Errorf("get all root keys failed, error: %w", err)
|
||||
}
|
||||
return results, false, nil
|
||||
}
|
||||
|
||||
func combineQueryResultByInput(inputSliceLen int, inputSlice []string, queryResults []string) []string {
|
||||
prefixs := make([]string, 0, len(inputSlice))
|
||||
recommandResults := make([]string, 0, len(queryResults))
|
||||
switch inputSliceLen {
|
||||
case 2:
|
||||
prefixs = []string{inputSlice[0]}
|
||||
case 3:
|
||||
prefixs = inputSlice[0:2]
|
||||
default:
|
||||
return []string{}
|
||||
}
|
||||
|
||||
for _, queryResult := range queryResults {
|
||||
combineStrs := make([]string, 0, len(inputSlice))
|
||||
combineStrs = append(combineStrs, prefixs...)
|
||||
combineStrs = append(combineStrs, queryResult)
|
||||
recommandResult := strings.Join(combineStrs, ".")
|
||||
recommandResults = append(recommandResults, recommandResult)
|
||||
}
|
||||
return recommandResults
|
||||
}
|
||||
|
||||
func getConstantsKeyByLength(inputLen int) string {
|
||||
switch inputLen {
|
||||
case 1:
|
||||
return constants.RedisAllGridSetKey
|
||||
case 2:
|
||||
return constants.RedisAllZoneSetKey
|
||||
case 3:
|
||||
return constants.RedisAllStationSetKey
|
||||
case 4:
|
||||
return constants.RedisAllComponentSetKey
|
||||
default:
|
||||
return constants.RedisAllGridSetKey
|
||||
}
|
||||
}
|
||||
|
||||
func getSpecificKeyByLength(inputLen int, input string) string {
|
||||
switch inputLen {
|
||||
case 1:
|
||||
return constants.RedisAllGridSetKey
|
||||
case 2:
|
||||
return fmt.Sprintf(constants.RedisSpecGridZoneSetKey, input)
|
||||
case 3:
|
||||
return fmt.Sprintf(constants.RedisSpecZoneStationSetKey, input)
|
||||
case 4:
|
||||
return fmt.Sprintf(constants.RedisSpecStationComponentSetKey, input)
|
||||
default:
|
||||
return constants.RedisAllGridSetKey
|
||||
}
|
||||
}
|
||||
|
||||
func getCombinedConstantsKeyByLength(key string, inputLen int) string {
|
||||
switch inputLen {
|
||||
case 2:
|
||||
return fmt.Sprintf(constants.RedisSpecGridZoneSetKey, key)
|
||||
case 3:
|
||||
return fmt.Sprintf(constants.RedisSpecZoneStationSetKey, key)
|
||||
case 4:
|
||||
return fmt.Sprintf(constants.RedisSpecStationComponentSetKey, key)
|
||||
default:
|
||||
return constants.RedisAllGridSetKey
|
||||
}
|
||||
}
|
||||
|
||||
// GetLongestCommonPrefixLength define func of get longest common prefix length between two strings
|
||||
func GetLongestCommonPrefixLength(input string, recommendResult string) int {
|
||||
if input == "" {
|
||||
return 0
|
||||
}
|
||||
|
||||
minLen := min(len(input), len(recommendResult))
|
||||
|
||||
for i := range minLen {
|
||||
if input[i] != recommendResult[i] {
|
||||
return i
|
||||
}
|
||||
}
|
||||
return minLen
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,5 +9,5 @@ type MeasurementGetRequest struct {
|
|||
|
||||
// MeasurementRecommendRequest defines the request payload for an measurement recommend
|
||||
type MeasurementRecommendRequest struct {
|
||||
Input string `form:"input,omitempty" example:"trans"`
|
||||
Input string `form:"input,omitempty" example:"grid1"`
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,3 +42,19 @@ func DeduplicateAndReportDuplicates(targetsSlice []string, sourceSlice []string)
|
|||
}
|
||||
return deduplicated, duplicates
|
||||
}
|
||||
|
||||
// GetLongestCommonPrefixLength define func of get longest common prefix length between two strings
|
||||
func GetLongestCommonPrefixLength(query string, result string) int {
|
||||
if query == "" {
|
||||
return 0
|
||||
}
|
||||
|
||||
minLen := min(len(query), len(result))
|
||||
|
||||
for i := range minLen {
|
||||
if query[i] != result[i] {
|
||||
return i
|
||||
}
|
||||
}
|
||||
return minLen
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue