全部产品
Search
文档中心

表格存储:如何将多元索引Search接口查询数据的limit提高到1000

更新时间:Aug 30, 2024

为了提高使用多元索引Search接口单次查询的返回结果数,当查询数据时只查询多元索引中的数据没有反查数据表时,则limit限制自适应提高到1000,如果查询数据时需要反查数据表,则limit限制为100。本文介绍将多元索引Search接口查询数据的limit提高到1000的方法。

操作步骤

通过多元索引的Search接口查询数据时,您可以使用ColumnsToGet参数设置需要返回哪些列,如果设置的列均在多元索引中,则limit会自动提升到1000。您可以通过在ColumnsToGet中指定多元索引中存在的列,或者指定ReturnAllColumnsFromIndex为true来实现。

示例

此处以Java SDK为例介绍如何设置ColumnsToGet参数,其他语言的SDK实现类似,只需修改SearchRequest中的ColumnsToGet参数即可。

SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(new MatchAllQuery());
searchQuery.setLimit(1000);

SearchRequest searchRequest = new SearchRequest(tableName, indexName, searchQuery);

//方式一:在ColumnsToGet参数中设置columns参数为多元索引中的列,获取多元索引中的指定属性列。。
ColumnsToGet columnsToGet = new ColumnsToGet();
columnsToGet.setReturnAll(false);
//设置为多元索引中的列名。
columnsToGet.setColumns(Arrays.asList("field_1", "field_2", "field_3"));  
searchRequest.setColumnsToGet(columnsToGet);

//方式二:在ColumnsToGet中设置returnAllColumnsFromIndex参数为true,获取多元索引中的所有属性列。
//表格存储Java SDK从5.6.1版本开始支持returnAllColumnsFromIndex参数。
ColumnsToGet columnsToGet = new ColumnsToGet();
columnsToGet.setReturnAllFromIndex(true);
searchRequest.setColumnsToGet(columnsToGet);

SearchResponse response = client.search(searchRequest);