Adicione um índice de pesquisa a um índice Lastpoint para aplicar filtros multidimensionais, consultas geográficas e agregações aos dados mais recentes de séries temporais. Essas operações não são possíveis apenas com o índice Lastpoint.
Por que usar um índice de pesquisa em um índice Lastpoint
Um índice Lastpoint armazena apenas o ponto de dados mais recente de cada série temporal. Em um cenário de Internet dos Veículos (IoV), por exemplo, esse índice contém uma linha por veículo com as últimas coordenadas GPS reportadas, velocidade, status e quilometragem.
A tabela a seguir apresenta dados de amostra de um índice Lastpoint para uma frota de veículos:
|
_#h |
_m_name |
_data_source |
_tags |
_time |
gps |
speed |
status |
total_mileage |
remaining_mileage |
|
4c#PlatformA#07 |
Platform A |
sensor1 |
["region=hangzhou","car_model=sedan","number_plate=ZheA D7512*","color=white"] |
1730423400000000 |
30.245853,120.178564 |
0 |
Idle |
20000 |
450 |
|
25#PlatformA#ae |
Platform A |
sensor2 |
["region=hangzhou","car_model=suv","number_plate=ZheC 72B2*","color=black"] |
1730779800000000 |
30.245853,120.213654 |
80 |
Active |
15050 |
250 |
|
b2#PlatformB#4b |
Platform B |
sensor3 |
["region=hangzhou","car_model=sedan","number_plate=ZheB 121*9","color=blue"] |
1730862600000000 |
30.246022,120.124460 |
0 |
Idle |
18230 |
270 |
Sem um índice de pesquisa, você só pode recuperar uma linha pela chave primária (_#h). Para responder a perguntas como "quais veículos estão ociosos no momento com mais de 300 km de autonomia restante", seria necessário varrer todas as linhas e filtrar na camada da aplicação. Esse processo é lento e caro em grande escala.
Um índice de pesquisa criado sobre um índice Lastpoint oferece suporte a índices invertidos e armazenamento colunar, o que permite:
Consultas sem chave primária: filtre por qualquer coluna de atributo, como status do veículo ou autonomia restante.
Buscas booleanas, aproximadas e de texto completo: combine condições com os operadores AND, OR e NOT.
Consultas geográficas: localize registros dentro de uma área geográfica específica.
Consultas vetoriais k-vizinhos mais próximos (KNN): busque por similaridade em campos vetoriais.
-
Agregações: calcule estatísticas de máximo, mínimo, contagem e agrupamento nos pontos de dados mais recentes.
NotaEste tópico apresenta um cenário de exemplo de uso de índice de pesquisa para recuperar dados de um índice Lastpoint. Para mais detalhes, consulte Apêndice: Cenário de exemplo. Para saber mais sobre os recursos e capacidades dos índices de pesquisa, visualize Índice de pesquisa.
Pré-requisitos
Antes de começar, verifique se:
Já existe um índice Lastpoint criado para uma tabela de séries temporais. Para mais informações, consulte Criar um índice LastPoint.
Gerenciar índices de pesquisa e consultar dados
Gerencie os índices de pesquisa e consulte dados na seção LastPoint Index da página Manage Time Series Table.
Criar um índice de pesquisa
-
Acesse a página Instance Management.
Faça login no console do Tablestore.
Na barra de navegação superior, selecione um grupo de recursos e uma região.
Na página Overview, clique em no nome da instância ou em Manage Instance na coluna Actions.
-
Acesse a página Manage Time Series Table.
Na página Instance Management, clique em na aba Time Series Tables.
Na aba Time Series Tables, clique em no nome da tabela de séries temporais ou em Manage Data na coluna Actions.
-
Crie um índice de pesquisa para o índice Lastpoint.
Na seção LastPoint Index da aba Basic Information, clique em Create Search Index na coluna Search Index do índice Lastpoint.
-
Na caixa de diálogo Create Search Index, configure os parâmetros do índice de pesquisa.

Mantenha o nome padrão do índice ou insira um novo nome conforme necessário.
-
Selecione o método de geração de esquema.
ImportanteOs valores de Field Name e Field Type devem corresponder exatamente aos nomes e tipos dos campos no índice Lastpoint. Para verificar os mapeamentos entre tipos de campo em índices Lastpoint e índices de pesquisa, consulte Tipos de dados.
Se definir Schema Generation Type como Manual, insira o nome do campo, selecione o tipo e especifique se deseja ativar Array.
Se definir Schema Generation Type como Auto Generate, o sistema usará automaticamente os campos do índice Lastpoint como campos de índice. Selecione o tipo de campo e indique se deve ativar Array conforme necessário.
NotaColunas virtuais permitem mapear colunas da tabela para uma ou mais colunas virtuais em um índice de pesquisa sem alterar o esquema original. Use esse recurso para acelerar consultas ou aplicar diferentes métodos de tokenização. Para mais informações, consulte Colunas virtuais.
-
Para configurar o tempo de vida (TTL), a chave de roteamento e a pré-ordenação, ative Advanced Settings. A tabela abaixo descreve esses parâmetros.
Parâmetro
Descrição
Chave de roteamento
Campos de roteamento usados para controlar a distribuição de dados. Selecione uma ou mais colunas de chave primária. Registros com os mesmos valores de campo de roteamento ficam na mesma partição de dados. Geralmente, um único campo de roteamento é suficiente. Se especificar vários campos, o sistema concatenará seus valores para formar a chave de partição.
Tempo de vida
Período de retenção dos dados no índice de pesquisa. Unidade: segundos. Valor padrão: -1 (os dados nunca expiram).
O TTL deve ser de pelo menos 86.400 segundos (um dia) ou -1. O Tablestore exclui automaticamente os dados que ultrapassam o TTL definido.
Pré-ordenação
Ordem de classificação padrão para os dados retornados. Valores válidos: Default (ordenado pela chave primária) e Custom (ordenado por um campo especificado por você).
ImportanteÍndices de pesquisa que contêm campos Nested não suportam pré-ordenação.
Clique em OK.
Consultar dados usando um índice de pesquisa
Na seção LastPoint Index da aba Basic Information, clique em Manage Data na coluna Search Index do índice Lastpoint.
-
Na caixa de diálogo Search, consulte os dados.
-
Por padrão, o sistema retorna todas as colunas. Para retornar apenas colunas de atributos específicas, desative All Columns no parâmetro Columns to Return e insira as colunas desejadas. Separe múltiplas colunas por vírgulas (,).
NotaTodas as colunas de chave primária do índice Lastpoint são sempre retornadas.
-
Escolha um operador lógico: And, Or ou Not.
O operador And retorna linhas que atendem a todas as condições. O Or com uma única condição retorna linhas correspondentes; com múltiplas condições, retorna linhas que satisfazem pelo menos uma delas. Já o Not devolve linhas que não cumprem a condição especificada.
-
Selecione um campo de índice, clique em Add e configure os parâmetros Query Type e Value.
NotaPara especificar vários valores para um mesmo campo, clique em novamente em Add no respectivo campo e defina um Value diferente.
A ordenação vem desativada por padrão. Para classificar os resultados por um campo específico, ative Sort, adicione os campos de ordenação e configure a ordem desejada.
A coleta de estatísticas também permanece desativada inicialmente. Para obter estatísticas sobre um campo, ative Collect Statistics, adicione os campos e ajuste as configurações estatísticas.
-
Clique em Yes.
Os resultados da consulta e as estatísticas aparecerão na seção LastPoint Index da aba Basic Information.
-
Gerenciar índices de pesquisa
A tabela a seguir descreve as operações disponíveis para índices de pesquisa.
|
Operação |
Descrição |
|
Visualizar detalhes do índice de pesquisa |
Para visualizar informações básicas, dados de medição, chave de roteamento, campos de índice e detalhes de pré-ordenação de um índice de pesquisa:
|
|
Excluir um índice de pesquisa |
Exclua um índice de pesquisa quando ele não for mais necessário.
|
Integração com SDK
Use os seguintes SDKs do Tablestore para trabalhar com índices de pesquisa em índices Lastpoint:
Faturamento
A criação de um índice Lastpoint é gratuita. O armazenamento e as operações de leitura nos dados desse índice são cobrados. Para mais informações, consulte Itens faturáveis do modelo TimeSeries.
Consultar um índice Lastpoint por meio de um índice de pesquisa gera taxas referentes ao índice de pesquisa. Para mais detalhes, visualize Itens faturáveis de índices de pesquisa.
Perguntas frequentes
Apêndice: Cenário de exemplo
No cenário de Internet dos Veículos (IoV), sensores veiculares enviam dados de séries temporais para a nuvem. As aplicações armazenam, consultam e analisam essas informações para casos de uso como monitoramento de status, localização de frota e exibição de trajetórias.
A tabela abaixo mostra dados de amostra em uma tabela de séries temporais.
Neste exemplo, _m_name, _data_source e _tags são identificadores de séries temporais que especificam, respectivamente, o nome da medição, a source de dados e as informações de tag. _time representa o timestamp de reporte dos dados. Os campos gps, speed, status, total_mileage e remaining_mileage correspondem aos dados da série temporal e indicam coordenadas GPS, velocidade, status do veículo, quilometragem total e autonomia restante.
|
_m_name |
_data_source |
_tags |
_time |
gps |
speed |
status |
total_mileage |
remaining_mileage |
|
Platform A |
sensor1 |
["region=hangzhou","car_model=sedan","number_plate=ZheA D7512*","color=white"] |
1730422800000000 |
30.245853,120.178564 |
0 |
Idle |
20000 |
450 |
|
Platform A |
sensor1 |
["region=hangzhou","car_model=sedan","number_plate=ZheA D7512*","color=white"] |
1730423400000000 |
30.245853,120.178564 |
0 |
Idle |
20000 |
450 |
|
Platform A |
sensor2 |
["region=hangzhou","car_model=suv","number_plate=ZheC 72B2*","color=black"] |
1730779200000000 |
30.245278,120.150269 |
50 |
Active |
15000 |
300 |
|
Platform A |
sensor2 |
["region=hangzhou","car_model=suv","number_plate=ZheC 72B2*","color=black"] |
1730779800000000 |
30.245853,120.213654 |
80 |
Active |
15050 |
250 |
|
Platform B |
sensor3 |
["region=hangzhou","car_model=sedan","number_plate=ZheB 121*9","color=blue"] |
1730862000000000 |
30.246013,120.124470 |
60 |
Active |
18200 |
300 |
|
Platform B |
sensor3 |
["region=hangzhou","car_model=sedan","number_plate=ZheB 121*9","color=blue"] |
1730862600000000 |
30.246022,120.124460 |
0 |
Idle |
18230 |
270 |
O Tablestore sincroniza automaticamente o ponto de dados mais recente de cada série temporal para o índice Lastpoint. A tabela na seção anterior exibe os dados resultantes nesse índice.
Diante dos requisitos de consulta listados a seguir, crie um índice de pesquisa sobre o índice Lastpoint para aproveitar todos os seus recursos de consulta.
Localizar veículos atualmente ociosos com mais de 300 km de autonomia restante.
Identificar veículos dentro de uma área geográfica específica.
Descobrir a velocidade máxima entre os veículos ativos no momento.
Crie um índice de pesquisa com os seguintes campos:
gps,speed,statuseremaining_mileage.Use o índice de pesquisa para consultar os dados. A tabela seguinte associa cada requisito à sua implementação.
|
Requisito de consulta |
Implementação |
|
Localizar veículos atualmente ociosos com mais de 300 km de autonomia restante |
Execute uma consulta de termo em |
|
Identificar veículos dentro de uma área geográfica específica |
Realize uma consulta geográfica no campo |
|
Descobrir a velocidade máxima entre os veículos ativos no momento |
Faça uma consulta de correspondência em |