Meta管理提供了增、删、改、单行读、多条件组合查询等接口。

Meta管理的多条件组合查询功能基于多元索引,只有设置了IndexSchemaMetaStore才支持。索引类型支持LONG、DOUBLE、BOOLEAN、KEYWORDGEO_POINT等类型,属性包含Index、StoreArray,其含义与多元索引相同。更多信息,请参见数据类型映射

Insert

TimelineIdentifer是区分Timeline的唯一标识,重复的Identifier会被覆盖。

TimelineIdentifier identifier = new TimelineIdentifier.Builder()
        .addField("timeline_id", "group")
        .build();
TimelineMeta meta = new TimelineMeta(identifier)
        .setField("filedName", "fieldValue");

timelineMetaStore.insert(meta);

Read

根据Identifier读取单行TimelineMeta数据。

TimelineIdentifier identifier = new TimelineIdentifier.Builder()
        .addField("timeline_id", "group")
        .build();

timelineMetaStore.read(identifier);

Update

更新TimelineIdentifier所对应的Meta属性。

TimelineIdentifier identifier = new TimelineIdentifier.Builder()
        .addField("timeline_id", "group")
        .build();
TimelineMeta meta = new TimelineMeta(identifier)
        .setField("filedName", "new value");

timelineMetaStore.update(meta);

Delete

根据Identifier删除单行TimelineMeta数据。

TimelineIdentifier identifier = new TimelineIdentifier.Builder()
        .addField("timeline_id", "group")
        .build();

timelineMetaStore.delete(identifier);

Search

提供两种查询参数,SearchParameter以及SDK原生类SearchQuery,返回Iterator<TimelineMeta>,通过迭代器遍历。

/**
 * 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);