閱讀591 返回首頁    go windows


過濾器(Filter)__Java-SDK (NEW)_SDK 參考_表格存儲-阿裏雲

過濾器 Filter 可以在服務器端對讀取的結果再進行一次過濾,根據 Filter 中的條件決定返回哪些行或者列。Filter 可以用於 GetRow、BatchGetRow 和 GetRange 接口中。

目前表格存儲僅支持 SingleColumnValueFilter 和 CompositeColumnValueFilter,這兩個 Filter 都是基於參考列的列值決定某行是否會被過濾掉。前者隻判斷某個參考列的列值,後者會對多個參考列的列值判斷結果進行邏輯組合,決定最終是否過濾。

需要注意的是,Filter 是對讀取後的結果再進行一次過濾,所以 SingleColumnValueFilter 或者 CompositeColumnValueFilter 中的參考列必須在讀取的結果內。如果用戶指定了要讀取的列,且其中不包含參考列,那麼 Filter 無法獲得這些參考列的值。當某個參考列不存在時,SingleColumnValueFilter 的 passIfMissing 參數決定此時是否滿足條件,即用戶可以選擇當參考列不存在時的行為。

示例 1

構造 SingleColumnValueFilter。

  1. // 設置過濾器, 當Col0的值為0時返回該行.
  2. SingleColumnValueFilter singleColumnValueFilter = new SingleColumnValueFilter("Col0",
  3. SingleColumnValueFilter.CompareOperator.EQUAL, ColumnValue.fromLong(0));
  4. // 如果不存在Col0這一列, 也不返回.
  5. singleColumnValueFilter.setPassIfMissing(false);
  6. // 隻判斷最新版本
  7. singleColumnValueFilter.setLatestVersionsOnly(true);

示例 2

構造 CompositeColumnValueFilter。

  1. // composite1 條件為 (Col0 == 0) AND (Col1 > 100)
  2. CompositeColumnValueFilter composite1 = new CompositeColumnValueFilter(CompositeColumnValueFilter.LogicOperator.AND);
  3. SingleColumnValueFilter single1 = new SingleColumnValueFilter("Col0",
  4. SingleColumnValueFilter.CompareOperator.EQUAL, ColumnValue.fromLong(0));
  5. SingleColumnValueFilter single2 = new SingleColumnValueFilter("Col1",
  6. SingleColumnValueFilter.CompareOperator.GREATER_THAN, ColumnValue.fromLong(100));
  7. composite1.addFilter(single1);
  8. composite1.addFilter(single2);
  9. // composite2 條件為 ( (Col0 == 0) AND (Col1 > 100) ) OR (Col2 <= 10)
  10. CompositeColumnValueFilter composite2 = new CompositeColumnValueFilter(CompositeColumnValueFilter.LogicOperator.OR);
  11. SingleColumnValueFilter single3 = new SingleColumnValueFilter("Col2",
  12. SingleColumnValueFilter.CompareOperator.LESS_EQUAL, ColumnValue.fromLong(10));
  13. composite2.addFilter(composite1);
  14. composite2.addFilter(single3);

最後更新:2016-11-23 16:04:16

  上一篇:go 條件更新__Java-SDK (NEW)_SDK 參考_表格存儲-阿裏雲
  下一篇:go Java SDK 曆史迭代版本__曆史版本 SDK 下載_SDK 參考_表格存儲-阿裏雲