全部產品
Search
文件中心

:範圍查詢

更新時間:Jul 03, 2024

RangeQuery根據範圍條件查詢表中的資料。對於Text類型欄位,只要Text類型欄位值分詞後的詞條中有詞條滿足範圍條件即可。

前提條件

參數

參數

說明

fieldName

要匹配的欄位。

from

起始位置的值。

設定範圍條件時,大於(>)可以使用greaterThan表示,大於等於(>=)可以使用greaterThanOrEqual表示。

to

結束位置的值。

設定範圍條件時,小於(<)可以使用lessThan表示;小於等於(<=)可以使用lessThanOrEqual表示。

includeLower

結果中是否需要包括from值,類型為Boolean。

includeUpper

結果中是否需要包括to值,類型為Boolean。

query

設定查詢類型為RangeQuery。

sort

按照指定方式排序,詳情請參見排序和翻頁

getTotalCount

是否返回匹配的總行數,預設為false,表示不返回。

返回匹配的總行數會影響查詢效能。

tableName

資料表名稱。

indexName

多元索引名稱。

columnsToGet

是否返回所有列,包含returnAll和columns設定。

returnAll預設為false,表示不返回所有列,此時可以通過columns指定返回的列;如果未通過columns指定返回的列,則只返回主鍵列。

當設定returnAll為true時,表示返回所有列。

樣本

以下樣本用於查詢表中Col_Long列大於3的資料,結果按照Col_Long列的值逆序排序。

/**
 * 查詢表中Col_Long列大於3的資料,結果按照Col_Long列的值逆序排序。
 * @param client
 */
private static void rangeQuery(SyncClient client) {
    SearchQuery searchQuery = new SearchQuery();
    RangeQuery rangeQuery = new RangeQuery(); //設定查詢類型為RangeQuery。
    rangeQuery.setFieldName("Col_Long");  //設定要匹配的欄位。
    rangeQuery.greaterThan(ColumnValue.fromLong(3));  //設定該欄位的範圍條件為大於3。
    searchQuery.setGetTotalCount(true);
    searchQuery.setQuery(rangeQuery);
    //設定按照Col_Long列逆序排序。
    FieldSort fieldSort = new FieldSort("Col_Long");
    fieldSort.setOrder(SortOrder.DESC);
    searchQuery.setSort(new Sort(Arrays.asList((Sort.Sorter)fieldSort)));
    //searchQuery.setGetTotalCount(true); //設定返回匹配的總行數。

    SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
    //通過設定columnsToGet參數可以指定返回的列或返回所有列,如果不設定此參數,則預設只返回主鍵列。
    //SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
    //columnsToGet.setReturnAll(true); //設定為返回所有列。
    //columnsToGet.setColumns(Arrays.asList("ColName1","ColName2")); //設定為返回指定列。
    //searchRequest.setColumnsToGet(columnsToGet);

    SearchResponse resp = client.search(searchRequest);
    //System.out.println("TotalCount: " + resp.getTotalCount()); //列印匹配到的總行數,非返回行數。
    System.out.println("Row: " + resp.getRows());
}

常見問題

相關文檔