Timeline管理提供了訊息模糊查詢、多條件組合查詢以及Flush介面。
Search
Timeline管理的查詢功能基於多元索引的Search介面實現,只有設定了IndexSchema的TimelineStore才支援。索引欄位支援LONG、DOUBLE、BOOLEAN、KEYWORD、GEO_POINT、TEXT等資料類型,屬性包含Index、Store、Array以及分詞類型,其含義與多元索引相同。更多資訊,請參見資料類型映射。
多元索引的Search介面提供了模糊查詢、多條件組合查詢等功能。其中需要用於模糊查詢的欄位必須配置為TEXT類型並為該欄位設定需要的分詞類型。關於分詞的更多資訊,請參見分詞。
/**
* Search timeline by SearchParameter.
* */
SearchParameter searchParameter = new SearchParameter(
field("text").equals("fieldValue")
);
timelineStore.search(searchParameter);
/**
* Search timeline by SearchQuery.
* */
TermQuery query = new TermQuery();
query.setFieldName("text");
query.setTerm(ColumnValue.fromString("fieldValue"));
SearchQuery searchQuery = new SearchQuery().setQuery(query).setLimit(10);
timelineStore.search(searchQuery);
Flush
批量寫基於Table StoreSDK中DefaultTableStoreWriter實現,可以主動調用flush介面,將Buffer中尚未發出的請求主動觸發發送,同步等待至所有訊息寫入成功。
/**
* Flush messages in buffer, and wait until all messages are stored.
* */
timelineStore.flush();