O gerenciamento de Meta oferece APIs para inserção, exclusão, atualização, leitura de linha única e consultas com múltiplas condições.
O recurso de consulta com múltiplas condições baseia-se em índices de pesquisa e é compatível apenas com um MetaStore que tenha um IndexSchema configurado. Os tipos de índice suportados incluem LONG, DOUBLE, BOOLEAN, KEYWORD e GEO_POINT. As propriedades disponíveis são Index, Store e Array, mantendo o mesmo significado utilizado em índices de pesquisa. Para mais informações, consulte Data types.
Inserção
O TimelineIdentifier representa a identidade exclusiva de uma Timeline. Registros com identificadores duplicados são sobrescritos.
TimelineIdentifier identifier = new TimelineIdentifier.Builder()
.addField("timeline_id", "group")
.build();
TimelineMeta meta = new TimelineMeta(identifier)
.setField("filedName", "fieldValue");
timelineMetaStore.insert(meta);
Leitura
Leia uma única linha de dados do TimelineMeta com base no identificador.
TimelineIdentifier identifier = new TimelineIdentifier.Builder()
.addField("timeline_id", "group")
.build();
timelineMetaStore.read(identifier);
Atualização
Atualize as propriedades de meta associadas a um TimelineIdentifier.
TimelineIdentifier identifier = new TimelineIdentifier.Builder()
.addField("timeline_id", "group")
.build();
TimelineMeta meta = new TimelineMeta(identifier)
.setField("filedName", "new value");
timelineMetaStore.update(meta);
Exclusão
Exclua uma única linha de dados do TimelineMeta com base no identificador.
TimelineIdentifier identifier = new TimelineIdentifier.Builder()
.addField("timeline_id", "group")
.build();
timelineMetaStore.delete(identifier);
Pesquisa
A operação de pesquisa aceita dois tipos de parâmetros de consulta: SearchParameter e a classe nativa do SDK SearchQuery. O retorno é um Iterator<TimelineMeta>, que você pode percorrer para obter os resultados.
/**
* Search meta by SearchParameter.
* */
SearchParameter parameter = new SearchParameter(
field("fieldName").equals("fieldValue")
);
timelineMetaStore.search(parameter);
/**
* Search meta by SearchQuery.
* */
TermQuery query = new TermQuery();
query.setFieldName("fieldName");
query.setTerm(ColumnValue.fromString("fieldValue"));
SearchQuery searchQuery = new SearchQuery().setQuery(query);
timelineMetaStore.search(searchQuery);