Parameter
Parameter | Deskripsi |
mustQueries | Daftar subkueri. Hanya baris yang memenuhi semua kondisi subkueri yang dikembalikan. Parameter ini setara dengan operator AND. |
mustNotQueries | Daftar subkueri. Hanya baris yang tidak memenuhi salah satu kondisi subkueri yang dikembalikan. Parameter ini setara dengan operator NOT. |
filterQueries | Daftar subkueri. Hanya baris yang memenuhi semua filter yang dikembalikan. Filter mirip dengan kueri kecuali bahwa tidak ada skor relevansi yang dihitung dalam filter berdasarkan jumlah subfilter yang dipenuhi oleh sebuah baris. |
shouldQueries | Daftar subkueri yang hasil kuerinya bisa cocok atau tidak cocok. Parameter ini setara dengan operator OR. Hanya baris yang memenuhi jumlah minimum kondisi subkueri yang ditentukan oleh parameter shouldQueries yang dikembalikan. Skor relevansi keseluruhan yang lebih tinggi menunjukkan bahwa lebih banyak kondisi subkueri yang ditentukan oleh parameter shouldQueries terpenuhi. |
minimumShouldMatch | Jumlah minimum kondisi subkueri yang ditentukan oleh parameter shouldQueries yang harus dipenuhi oleh baris yang dikembalikan. Jika tidak ada kondisi subkueri lain selain kondisi subkueri yang ditentukan oleh parameter shouldQueries, nilai default dari parameter minimumShouldMatch adalah 1. Jika kondisi subkueri lainnya, seperti kondisi subkueri yang ditentukan oleh parameter mustQueries, mustNotQueries, dan filterQueries ditentukan, nilai default dari parameter minimumShouldMatch adalah 0. |
getTotalCount | Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default dari parameter ini adalah false, yang menentukan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan. Jika Anda menetapkan parameter ini ke true, kinerja kueri akan terpengaruh. |
tableName | Nama tabel data. |
indexName | Nama indeks pencarian. |
columnsToGet | Menentukan apakah akan mengembalikan semua kolom dari setiap baris yang memenuhi kondisi kueri. Anda dapat mengonfigurasi bidang returnAll dan columns untuk parameter ini. Nilai default dari bidang returnAll adalah false, yang menentukan bahwa tidak semua kolom dikembalikan. Dalam hal ini, Anda dapat menggunakan bidang columns untuk menentukan kolom yang ingin Anda kembalikan. Jika Anda tidak menentukan kolom yang ingin Anda kembalikan, hanya kolom kunci utama yang dikembalikan. Jika Anda menetapkan bidang returnAll ke true, semua kolom dikembalikan. |
Metode
Anda dapat menggunakan konsol Tablestore, CLI Tablestore, atau SDK Tablestore untuk menjalankan kueri Boolean. Sebelum melakukannya, pastikan langkah-langkah persiapan berikut telah dilakukan:
Anda memiliki akun Alibaba Cloud atau pengguna RAM dengan izin untuk melakukan operasi pada Tablestore. Untuk informasi lebih lanjut tentang cara memberikan izin operasi Tablestore kepada pengguna RAM, lihat Gunakan kebijakan RAM untuk memberikan izin kepada pengguna RAM.
Jika Anda ingin menggunakan SDK Tablestore atau CLI Tablestore untuk menjalankan kueri, pasangan AccessKey harus dibuat untuk akun Alibaba Cloud atau pengguna RAM Anda. Untuk informasi lebih lanjut, lihat Buat pasangan AccessKey.
Tabel data telah dibuat. Untuk informasi lebih lanjut, lihat Operasi pada tabel.
Indeks pencarian telah dibuat untuk tabel data. Untuk informasi lebih lanjut, lihat Buat indeks pencarian.
Jika Anda ingin menggunakan SDK Tablestore untuk menjalankan kueri, instance OTSClient harus diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi klien Tablestore.
Jika Anda ingin menggunakan CLI Tablestore untuk menjalankan kueri, CLI Tablestore harus diunduh dan dimulai, serta informasi tentang instance dan tabel data yang ingin Anda akses harus dikonfigurasi. Untuk informasi lebih lanjut, lihat Unduh CLI Tablestore, Mulai CLI Tablestore dan konfigurasikan informasi akses, dan Operasi pada tabel data.
Gunakan konsol Tablestore
Pergi ke tab Indexes.
Masuk ke konsol Tablestore.
Di bilah navigasi atas, pilih grup sumber daya dan wilayah.
Di halaman Overview, klik nama instance yang ingin Anda kelola atau klik Manage Instance di kolom Actions instance.
Di tab Tables dari tab Instance Details, klik nama tabel data atau klik Indexes di kolom Tindakan tabel data.
Di tab Indexes, temukan indeks pencarian yang ingin digunakan untuk kueri data dan klik Manage Data di kolom Actions.
Di kotak dialog Search, tentukan kondisi kueri.
Secara default, sistem mengembalikan semua kolom atribut. Untuk mengembalikan kolom atribut tertentu, matikan All Columns dan tentukan kolom atribut yang ingin dikembalikan. Pisahkan beberapa kolom atribut dengan koma (,).
Catatan Secara default, sistem mengembalikan semua kolom kunci utama dari tabel data.
Pilih operator logika And, Or, atau Not sesuai kebutuhan bisnis Anda.
Jika Anda memilih operator logika And, data yang memenuhi kondisi kueri dikembalikan. Jika Anda memilih operator Or dan menentukan kondisi kueri tunggal, data yang memenuhi kondisi kueri dikembalikan. Jika Anda memilih operator logika Atau dan menentukan beberapa kondisi kueri, data yang memenuhi salah satu kondisi kueri dikembalikan. Jika Anda memilih operator logika Not, data yang tidak memenuhi kondisi kueri dikembalikan.
Pilih bidang indeks dan klik Add. Kemudian, konfigurasikan parameter Query Type dan Value.
Langkah ini dapat diulangi untuk menambahkan kondisi kueri untuk beberapa bidang indeks.
Secara default, fitur pengurutan dinonaktifkan. Jika Anda ingin mengurutkan hasil kueri berdasarkan bidang tertentu, aktifkan Sort dan tentukan bidang serta urutan pengurutan.
Secara default, fitur agregasi dinonaktifkan. Jika Anda ingin mengumpulkan statistik pada bidang tertentu, aktifkan Collect Statistics, tentukan bidang yang ingin dianalisis, dan konfigurasikan informasi yang diperlukan.
Klik OK.
Data yang memenuhi kondisi kueri akan ditampilkan dalam urutan tertentu di tab Indexes.
Gunakan CLI Tablestore
Anda dapat menggunakan CLI Tablestore untuk menjalankan perintah search guna melakukan kueri data menggunakan indeks pencarian. Untuk informasi lebih lanjut, lihat Indeks pencarian.
Jalankan perintah search untuk menggunakan indeks pencarian search_index dalam kueri data dan mengembalikan semua kolom terindeks dari setiap baris yang memenuhi kondisi kueri.
search -n search_index --return_all_indexed
Masukkan kondisi kueri sesuai petunjuk:
{
"Offset": -1,
"Limit": 10,
"Collapse": null,
"Sort": null,
"GetTotalCount": true,
"Token": null,
"Query": {
"Name": "BoolQuery",
"Query": {
"MinimumShouldMatch": null,
"MustQueries": null,
"MustNotQueries": null,
"FilterQueries": null,
"ShouldQueries": [{
"Name": "RangeQuery",
"Query": {
"FieldName": "gid",
"From": null,
"To": 10,
"IncludeLower": false,
"IncludeUpper": false
}
}, {
"Name": "TermQuery",
"Query": {
"FieldName": "gid",
"Term": 77
}
}]
}
},
"Aggregations": [{
"Name": "avg",
"Aggregation": {
"AggName": "agg1",
"Field": "gid",
"MissingValue": null
}
}]
}
Gunakan SDK Tablestore
Anda dapat menggunakan SDK Tablestore berikut untuk menjalankan kueri Boolean: Tablestore SDK for Java, Tablestore SDK for Go, Tablestore SDK for Python, Tablestore SDK for Node.js, Tablestore SDK for .NET, dan Tablestore SDK for PHP. Dalam contoh ini, Tablestore SDK for Java digunakan.
Contoh berikut menunjukkan cara menjalankan kueri Boolean.
Kueri baris yang memenuhi semua kondisi subkueri
Saat menjalankan kueri baris yang memenuhi semua kondisi subkueri, Anda dapat menentukan apakah skor relevansi perlu dihitung berdasarkan kebutuhan bisnis Anda.
Hitung skor relevansi untuk baris
Contoh kode berikut menunjukkan cara menjalankan kueri Boolean untuk mengkueri baris yang memenuhi semua kondisi subkueri dan menghitung skor relevansi.
/**
* Lakukan kueri Boolean untuk mengkueri baris yang memenuhi semua kondisi subkueri.
* @param client
*/
public static void andQuery(SyncClient client){
/**
* Kondisi 1: Lakukan kueri rentang untuk mengkueri baris di mana nilai kolom Col_Long lebih besar dari 3.
*/
RangeQuery rangeQuery = new RangeQuery();
rangeQuery.setFieldName("Col_Long");
rangeQuery.greaterThan(ColumnValue.fromLong(3));
/**
* Kondisi 2: Lakukan kueri kecocokan untuk mengkueri baris di mana nilai kolom Col_Keyword adalah hangzhou.
*/
MatchQuery matchQuery = new MatchQuery();
matchQuery.setFieldName("Col_Keyword");
matchQuery.setText("hangzhou");
SearchQuery searchQuery = new SearchQuery();
{
/**
* Buat kueri Boolean yang hasil kuerinya memenuhi baik Kondisi 1 maupun Kondisi 2.
*/
BoolQuery boolQuery = new BoolQuery();
boolQuery.setMustQueries(Arrays.asList(rangeQuery, matchQuery));
searchQuery.setQuery(boolQuery);
//searchQuery.setGetTotalCount(true);// Tetapkan parameter GetTotalCount ke true untuk mengembalikan jumlah total baris yang memenuhi kondisi kueri.
SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
// Anda dapat mengonfigurasi parameter columnsToGet untuk menentukan kolom yang akan dikembalikan atau menentukan bahwa semua kolom dikembalikan. Jika Anda tidak mengonfigurasi parameter ini, hanya kolom kunci utama yang dikembalikan.
//SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
//columnsToGet.setReturnAll(true); // Tetapkan parameter ReturnAll ke true untuk mengembalikan semua kolom.
//columnsToGet.setColumns(Arrays.asList("ColName1","ColName2")); // Tentukan kolom yang ingin Anda kembalikan.
//searchRequest.setColumnsToGet(columnsToGet);
SearchResponse resp = client.search(searchRequest);
//System.out.println("TotalCount: " + resp.getTotalCount()); // Tentukan bahwa jumlah total baris yang memenuhi kondisi kueri bukan jumlah baris yang dikembalikan yang ditampilkan.
System.out.println("Row: " + resp.getRows());
}
}
Jangan hitung skor relevansi untuk baris
Contoh kode berikut menunjukkan cara menjalankan kueri Boolean untuk mengkueri baris yang memenuhi semua kondisi subkueri tanpa menghitung skor relevansi.
/**
* Lakukan kueri Boolean untuk mengkueri baris yang memenuhi semua kondisi subkueri tanpa menghitung skor relevansi untuk baris.
* @param client
*/
public static void filtersQuery(SyncClient client){
/**
* Kondisi 1: Lakukan kueri rentang untuk mengkueri baris di mana nilai kolom Col_Long lebih besar dari 3.
*/
RangeQuery rangeQuery = new RangeQuery();
rangeQuery.setFieldName("Col_Long");
rangeQuery.greaterThan(ColumnValue.fromLong(3));
/**
* Kondisi 2: Lakukan kueri kecocokan untuk mengkueri baris di mana nilai kolom Col_Keyword adalah hangzhou.
*/
MatchQuery matchQuery = new MatchQuery();
matchQuery.setFieldName("Col_Keyword");
matchQuery.setText("hangzhou");
SearchQuery searchQuery = new SearchQuery();
{
/**
* Buat kueri Boolean yang hasil kuerinya memenuhi baik Kondisi 1 maupun Kondisi 2.
*/
BoolQuery boolQuery = new BoolQuery();
boolQuery.setFilterQueries(Arrays.asList(rangeQuery, matchQuery));
searchQuery.setQuery(boolQuery);
//searchQuery.setGetTotalCount(true);// Tetapkan parameter GetTotalCount ke true untuk mengembalikan jumlah total baris yang memenuhi kondisi kueri.
SearchRequest searchRequest = new SearchRequest("sampleTable", "sampleSearchIndex", searchQuery);
// Anda dapat mengonfigurasi parameter columnsToGet untuk menentukan kolom yang akan dikembalikan atau menentukan bahwa semua kolom dikembalikan. Jika Anda tidak mengonfigurasi parameter ini, hanya kolom kunci utama yang dikembalikan.
//SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
//columnsToGet.setReturnAll(true); // Tetapkan parameter ReturnAll ke true untuk mengembalikan semua kolom.
//columnsToGet.setColumns(Arrays.asList("ColName1","ColName2")); // Tentukan kolom yang ingin Anda kembalikan.
//searchRequest.setColumnsToGet(columnsToGet);
SearchResponse resp = client.search(searchRequest);
//System.out.println("TotalCount: " + resp.getTotalCount()); // Tentukan bahwa jumlah total baris yang memenuhi kondisi kueri bukan jumlah baris yang dikembalikan yang ditampilkan.
System.out.println("Row: " + resp.getRows());
}
}
Kueri baris yang memenuhi setidaknya salah satu kondisi subkueri
Contoh kode berikut menunjukkan cara menjalankan kueri Boolean untuk mengkueri baris yang memenuhi setidaknya salah satu kondisi subkueri yang ditentukan:
/**
* Lakukan kueri Boolean untuk mengkueri baris yang memenuhi setidaknya salah satu kondisi subkueri yang ditentukan.
* @param client
*/
public static void orQuery(SyncClient client) {
/**
* Kondisi 1: Lakukan kueri rentang untuk mengkueri baris di mana nilai kolom Col_Long lebih besar dari 3.
*/
RangeQuery rangeQuery = new RangeQuery();
rangeQuery.setFieldName("Col_Long");
rangeQuery.greaterThan(ColumnValue.fromLong(3));
/**
* Kondisi 2: Lakukan kueri kecocokan untuk mengkueri baris di mana nilai kolom Col_Keyword adalah hangzhou.
*/
MatchQuery matchQuery = new MatchQuery();
matchQuery.setFieldName("Col_Keyword");
matchQuery.setText("hangzhou");
SearchQuery searchQuery = new SearchQuery();
{
/**
* Buat kueri Boolean yang hasil kuerinya memenuhi setidaknya salah satu dari Kondisi 1 dan Kondisi 2.
*/
BoolQuery boolQuery = new BoolQuery();
boolQuery.setShouldQueries(Arrays.asList(rangeQuery, matchQuery));
boolQuery.setMinimumShouldMatch(1); // Tentukan bahwa hasil memenuhi setidaknya salah satu kondisi subkueri.
searchQuery.setQuery(boolQuery);
//searchQuery.setGetTotalCount(true);// Tetapkan parameter GetTotalCount ke true untuk mengembalikan jumlah total baris yang memenuhi kondisi kueri.
SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
// Anda dapat mengonfigurasi parameter columnsToGet untuk menentukan kolom yang akan dikembalikan atau menentukan bahwa semua kolom dikembalikan. Jika Anda tidak mengonfigurasi parameter ini, hanya kolom kunci utama yang dikembalikan.
//SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
//columnsToGet.setReturnAll(true); // Tetapkan parameter ReturnAll ke true untuk mengembalikan semua kolom.
//columnsToGet.setColumns(Arrays.asList("ColName1","ColName2")); // Tentukan kolom yang ingin Anda kembalikan.
//searchRequest.setColumnsToGet(columnsToGet);
SearchResponse resp = client.search(searchRequest);
//System.out.println("TotalCount: " + resp.getTotalCount()); // Tentukan bahwa jumlah total baris yang memenuhi kondisi kueri bukan jumlah baris yang dikembalikan yang ditampilkan.
System.out.println("Row: " + resp.getRows());
}
}
Kueri baris yang tidak memenuhi kondisi subkueri apa pun
Contoh kode berikut menunjukkan cara menjalankan kueri Boolean untuk mengkueri baris yang tidak memenuhi kondisi subkueri apa pun:
/**
* Lakukan kueri Boolean untuk mengkueri baris yang tidak memenuhi kondisi subkueri apa pun.
* @param client
*/
public static void notQuery(SyncClient client) {
/**
* Kondisi 1: Lakukan kueri kecocokan untuk mengkueri baris di mana nilai kolom Col_Keyword adalah hangzhou.
*/
MatchQuery matchQuery = new MatchQuery();
matchQuery.setFieldName("Col_Keyword");
matchQuery.setText("hangzhou");
SearchQuery searchQuery = new SearchQuery();
{
/**
* Buat kueri Boolean yang hasil kuerinya tidak memenuhi Kondisi 1.
*/
BoolQuery boolQuery = new BoolQuery();
boolQuery.setMustNotQueries(Arrays.asList(matchQuery));
searchQuery.setQuery(boolQuery);
//searchQuery.setGetTotalCount(true);// Tetapkan parameter GetTotalCount ke true untuk mengembalikan jumlah total baris yang memenuhi kondisi kueri.
SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
// Anda dapat mengonfigurasi parameter columnsToGet untuk menentukan kolom yang akan dikembalikan atau menentukan bahwa semua kolom dikembalikan. Jika Anda tidak mengonfigurasi parameter ini, hanya kolom kunci utama yang dikembalikan.
//SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
//columnsToGet.setReturnAll(true); // Tetapkan parameter ReturnAll ke true untuk mengembalikan semua kolom.
//columnsToGet.setColumns(Arrays.asList("ColName1","ColName2")); // Tentukan kolom yang ingin Anda kembalikan.
//searchRequest.setColumnsToGet(columnsToGet);
SearchResponse resp = client.search(searchRequest);
//System.out.println("TotalCount: " + resp.getTotalCount()); // Tentukan bahwa jumlah total baris yang memenuhi kondisi kueri bukan jumlah baris yang dikembalikan yang ditampilkan.
System.out.println("Row: " + resp.getRows());
}
}
Kueri baris yang memenuhi kombinasi kondisi subkueri
Contoh kode berikut menunjukkan cara menjalankan kueri Boolean untuk mengkueri baris yang memenuhi kombinasi kondisi subkueri, yaitu (col2<4 atau col3<5) atau (col2 = 4 dan (col3 = 5 atau col3 =6)). Dalam kombinasi kondisi subkueri sebelumnya, subkueri Boolean dihubungkan oleh operator AND atau OR.
/**
* (col2<4 atau col3<5) atau (col2 = 4 dan (col3 = 5 atau col3 =6))
* Subkueri Boolean dihubungkan oleh operator AND atau OR.
* @param client
*/
private static void boolQuery2(SyncClient client){
// Kondisi 1: Nilai kolom col2 kurang dari 4.
RangeQuery rangeQuery1 = new RangeQuery();
rangeQuery1.setFieldName("col2");
rangeQuery1.lessThan(ColumnValue.fromLong(4));
// Kondisi 2: Nilai kolom col3 kurang dari 5.
RangeQuery rangeQuery2 = new RangeQuery();
rangeQuery2.setFieldName("col3");
rangeQuery2.lessThan(ColumnValue.fromLong(5));
// Kondisi 3: Nilai kolom col2 sama dengan 4.
TermQuery termQuery = new TermQuery();
termQuery.setFieldName("col2");
termQuery.setTerm(ColumnValue.fromLong(4));
// Kondisi 4: Nilai kolom col3 sama dengan 5 atau nilai kolom col3 sama dengan 6.
TermsQuery termsQuery = new TermsQuery();
termsQuery.setFieldName("col3");
termsQuery.addTerm(ColumnValue.fromLong(5));
termsQuery.addTerm(ColumnValue.fromLong(6));
SearchQuery searchQuery = new SearchQuery();
List<Query> queryList1 = new ArrayList<>();
queryList1.add(rangeQuery1);
queryList1.add(rangeQuery2);
// Kondisi komposit 1: Nilai kolom col2 kurang dari 4 atau nilai kolom col3 kurang dari 5.
BoolQuery boolQuery1 = new BoolQuery();
boolQuery1.setShouldQueries(queryList1);
// Kondisi komposit 2: Nilai kolom col2 sama dengan 4 dan nilai kolom col3 sama dengan 5 atau 6.
List<Query> queryList2 = new ArrayList<>();
queryList2.add(termQuery);
queryList2.add(termsQuery);
BoolQuery boolQuery2 = new BoolQuery();
boolQuery2.setMustQueries(queryList2);
// Kondisi komposit: Nilai kolom col2 kurang dari 4 atau nilai kolom col3 kurang dari 5, atau nilai kolom col2 sama dengan 4 dan nilai kolom col3 sama dengan 5 atau 6.
List<Query> queryList3 = new ArrayList<>();
queryList3.add(boolQuery1);
queryList3.add(boolQuery2);
BoolQuery boolQuery = new BoolQuery();
boolQuery.setShouldQueries(queryList3);
searchQuery.setQuery(boolQuery);
//searchQuery.setGetTotalCount(true);// Tetapkan parameter GetTotalCount ke true untuk mengembalikan jumlah total baris yang memenuhi kondisi kueri.
SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
// Anda dapat mengonfigurasi parameter columnsToGet untuk menentukan kolom yang akan dikembalikan atau menentukan bahwa semua kolom dikembalikan. Jika Anda tidak mengonfigurasi parameter ini, hanya kolom kunci utama yang dikembalikan.
//SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
//columnsToGet.setReturnAll(true); // Tetapkan parameter ReturnAll ke true untuk mengembalikan semua kolom.
//columnsToGet.setColumns(Arrays.asList("ColName1","ColName2")); // Tentukan kolom yang ingin Anda kembalikan.
//searchRequest.setColumnsToGet(columnsToGet);
SearchResponse response = client.search(searchRequest);
//System.out.println("TotalCount: " + resp.getTotalCount()); // Tentukan bahwa jumlah total baris yang memenuhi kondisi kueri bukan jumlah baris yang dikembalikan yang ditampilkan.
System.out.println(response.getRows());
}
Referensi
Saat menggunakan indeks pencarian untuk kueri data, Anda dapat menggunakan metode kueri berikut: kueri tepat, kueri terms, kueri match all, kueri match, kueri match phrase, kueri prefix, kueri rentang, kueri wildcard, kueri fuzzy, kueri Boolean, kueri geo, kueri nested, kueri vektor KNN, dan kueri exists. Anda dapat memilih metode kueri berdasarkan kebutuhan bisnis untuk mengkueri data dari berbagai dimensi.
Anda dapat mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri menggunakan fitur pengurutan dan paginasi. Untuk informasi lebih lanjut, lihat Lakukan pengurutan dan paginasi.
Anda dapat menggunakan fitur collapse (distinct) untuk menggabungkan set hasil berdasarkan kolom tertentu. Dengan cara ini, data dari tipe yang ditentukan muncul hanya sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (distinct).
Jika Anda ingin menganalisis data dalam tabel data, Anda dapat menggunakan fitur agregasi operasi Search atau menjalankan pernyataan SQL. Misalnya, Anda dapat memperoleh nilai minimum dan maksimum, jumlah, dan jumlah total baris. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.
Jika Anda ingin mendapatkan semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkan baris, Anda dapat memanggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Pemindaian paralel.