Todos os produtos
Search
Central de documentação

Tablestore:Consultar dados Lastpoint usando um índice de busca

Última atualização: Aug 04, 2026

Use o Tablestore SDK for Java para crie um índice de busca em um índice Lastpoint e consultar os dados mais recentes de cada série temporal com base em condições de campos de dados.

Pré-requisitos

Instale o Tablestore SDK for Java e inicialize um cliente. Os índices Lastpoint exigem a versão 5.17.1 ou posterior. Recomendamos usar a versão mais recente.

Descrição

Leituras diretas em um índice Lastpoint localizam dados por intervalo de chave primária. Para filtrar os dados mais recentes por campos de dados com consultas booleanas, busca de texto completo, consultas geoespaciais ou agregações, crie um índice de busca no índice Lastpoint e chame search. Para obter mais informações sobre os recursos de consulta, consulte Search indexes.

public CreateSearchIndexResponse createSearchIndex(CreateSearchIndexRequest request) throws TableStoreException, ClientException
public SearchResponse search(SearchRequest request) throws TableStoreException, ClientException

Criar um índice de busca

Somente é possível consultar campos incluídos no esquema do índice de busca. O campo _tags de um índice Lastpoint é um array de strings e deve ser mapeado como um array Keyword. Mapeie os demais campos de dados para seus tipos correspondentes.

O exemplo a seguir cria example_search_index em example_lastpoint_index e indexa os campos tags, speed e status.

List<FieldSchema> fieldSchemas = Arrays.asList(
        new FieldSchema("_tags", FieldType.KEYWORD)
                .setIndex(true).setIsArray(true),
        new FieldSchema("speed", FieldType.DOUBLE)
                .setIndex(true).setEnableSortAndAgg(true),
        new FieldSchema("status", FieldType.KEYWORD)
                .setIndex(true).setEnableSortAndAgg(true));

IndexSchema indexSchema = new IndexSchema();
indexSchema.setFieldSchemas(fieldSchemas);

CreateSearchIndexRequest request = new CreateSearchIndexRequest();
request.setTableName("example_lastpoint_index");
request.setIndexName("example_search_index");
request.setIndexSchema(indexSchema);

client.createSearchIndex(request);

Consultar os dados mais recentes

A criação do índice de busca é assíncrona. Execute as consultas após o status do índice mudar para RUNNING e a fase de sincronização de dados mudar para INCR.

O exemplo a seguir usa uma consulta de intervalo para recuperar linhas Lastpoint nas quais speed é maior que 20.0. A consulta retorna o número total de linhas correspondentes e todas as colunas.

RangeQuery rangeQuery = new RangeQuery();
rangeQuery.setFieldName("speed");
rangeQuery.greaterThan(ColumnValue.fromDouble(20.0));

SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(rangeQuery);
searchQuery.setGetTotalCount(true);

SearchRequest request = new SearchRequest(
        "example_lastpoint_index",
        "example_search_index",
        searchQuery);
SearchRequest.ColumnsToGet columnsToGet =
        new SearchRequest.ColumnsToGet();
columnsToGet.setReturnAll(true);
request.setColumnsToGet(columnsToGet);

SearchResponse response = client.search(request);
System.out.println(response.getTotalCount());
response.getRows().forEach(System.out::println);

Parâmetros

Solicitação de criação de índice de busca

CreateSearchIndexRequest contém os seguintes parâmetros.

Nome

Tipo

Descrição

tableName (obrigatório)

String

Nome do índice Lastpoint. O índice Lastpoint funciona como tabela de dados durante a criação do índice de busca.

indexName (obrigatório)

String

Nome do índice de busca.

indexSchema (obrigatório)

IndexSchema

Esquema do índice de busca, incluindo esquemas de campos, configurações de índice e configurações de pré-ordenação.

Campos do índice

Cada elemento em indexSchema.fieldSchemas[] é do tipo FieldSchema. Os parâmetros a seguir configure os campos do exemplo.

Nome

Tipo

Descrição

fieldName (obrigatório)

String

Nome do campo no índice Lastpoint.

fieldType (obrigatório)

FieldType

Tipo de campo do índice de busca. O tipo deve corresponder ao tipo de valor no índice Lastpoint.

index (opcional)

boolean

Define se o campo será indexado. Valor padrão: true.

isArray (opcional)

boolean

Indica se o campo é um array. Valor padrão: false. Defina este parâmetro como true para _tags.

enableSortAndAgg (opcional)

boolean

Especifica se a ordenação e as agregações estão ativadas. Valor padrão: true. Campos de texto não aceitam ordenação nem agregações.

Solicitação de busca

SearchRequest contém os seguintes parâmetros.

Nome

Tipo

Descrição

tableName (obrigatório)

String

Nome do índice Lastpoint.

indexName (obrigatório)

String

Nome do índice de busca no índice Lastpoint.

searchQuery (obrigatório)

SearchQuery

Configuração da consulta. O exemplo define query como RangeQuery e getTotalCount como true para retornar o número total de linhas correspondentes. Para tipos de consulta e parâmetros compatíveis, consulte Data query.

columnsToGet (opcional)

SearchRequest.ColumnsToGet

Colunas a retornar. Se este parâmetro não for especificado, apenas as colunas de chave primária serão retornadas. O exemplo usa returnAll para retornar todas as colunas.

Resposta

SearchResponse contém os seguintes campos específicos da operação.

Campo

Tipo

Descrição

rows

List<Row>

Chame getRows() para obter as linhas Lastpoint retornadas pela solicitação.

totalCount

long

Chame getTotalCount() para obter o número total de linhas correspondentes. Este campo é retornado apenas se getTotalCount for true.

nextToken

byte[]

Chame getNextToken() para obter a posição inicial da próxima consulta. Um valor vazio indica que não há mais dados disponíveis.

isAllSuccess

boolean

Chame isAllSuccess() para verificar se a consulta foi bem-sucedida.