A match all query with the Tablestore SDK for Java matches every row in a search index and returns matching rows or their total count.
Prerequisites
Install the Tablestore SDK for Java and initialize the client.
Feature description
A match all query matches all data in a search index without specifying a field or value to filter by. When you call search, set the query type to MatchAllQuery, and use SearchQuery to configure the number of returned rows, total count tracking, and other common query behaviors.
SearchResponse search(SearchRequest request)
The following example matches every row in a search index and returns up to 10 rows and the total number of matching rows.
String tableName = "example_table";
String indexName = "example_index";
SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(new MatchAllQuery());
searchQuery.setLimit(10);
searchQuery.setTrackTotalCount(SearchQuery.TRACK_TOTAL_COUNT);
SearchRequest request = new SearchRequest(tableName, indexName, searchQuery);
SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
columnsToGet.setReturnAll(true);
request.setColumnsToGet(columnsToGet);
SearchResponse response = client.search(request);
System.out.println(response.getTotalCount());
System.out.println(response.getRows());
MatchAllQuery assigns the same relevance score to every matching row. Without an explicit sort order, the row order is not guaranteed. To retrieve only the total count, set limit to 0. The server then returns no rows. Tracking total counts increases query overhead.
Parameters
Search request
request is a SearchRequest object that contains the following parameters.
|
Name |
Type |
Description |
|
tableName (required) |
String |
The name of the table. |
|
indexName (required) |
String |
The name of the search index. |
|
searchQuery (required) |
SearchQuery |
The query condition and common query settings. |
|
columnsToGet (optional) |
SearchRequest.ColumnsToGet |
The returned column settings. If you omit this parameter, only primary key columns are returned. |
|
timeoutInMillisecond (optional) |
int |
The request-level query timeout in milliseconds. The default value is |
|
routingValues (optional) |
|
The primary key values for custom routing fields. Omit this parameter if the index does not use custom routing. |
Query settings
request.searchQuery is a SearchQuery object that contains the following parameters.
|
Name |
Type |
Description |
|
query (required) |
Query |
The query condition. Set this parameter to |
|
offset (optional) |
Integer |
The starting position of the query. |
|
limit (optional) |
Integer |
The maximum number of rows to return. Set this parameter to |
|
collapse (optional) |
Collapse |
The field collapse settings, which deduplicate results by a specified field. For configuration details, see Collapse query results. |
|
sort (optional) |
Sort |
The result sort order. For configuration details, see Sort and paginate results. |
|
trackTotalCount (optional) |
int |
The expected maximum number of matching rows to count. The default value is |
|
filter (optional) |
SearchFilter |
A filter that is applied to the results of |
|
aggregationList (optional) |
|
The aggregation settings. For configuration details, see Aggregation. |
|
groupByList (optional) |
|
The grouping settings. For configuration details, see Aggregation. |
|
token (optional) |
byte[] |
The pagination token. Set this parameter to the |
Query condition
request.searchQuery.query is a MatchAllQuery object and has no additional parameters. This query type does not support summary and highlighting. For supported query types and configuration details, see Summary and highlighting.
Returned columns
request.columnsToGet is a SearchRequest.ColumnsToGet object that contains the following parameters.
|
Name |
Type |
Description |
|
columns (optional) |
|
The attribute columns to return. Set this parameter only if |
|
returnAll (optional) |
boolean |
Specifies whether to return all attribute columns in the table. Default value: |
|
returnAllFromIndex (optional) |
boolean |
Specifies whether to return all indexed attribute columns. Default value: |
Return values
search returns a SearchResponse object. The following table describes the core fields.
|
Name |
Type |
Description |
|
totalCount |
long |
The number of matching rows. Call |
|
rows |
|
The rows returned by this query. Call |
|
nextToken |
byte[] |
The next-page token. Call |
|
isAllSuccess |
boolean |
Indicates whether all index partitions were queried successfully. Call |