全部产品
Search
文档中心

Tablestore:Kueri tepat

更新时间:Jul 06, 2025

Anda dapat melakukan kueri tepat untuk menanyakan data yang cocok persis dengan nilai yang ditentukan dari sebuah kolom. Kueri ini mirip dengan pencocokan string berdasarkan kondisi tertentu. Jika kolom TEXT diperiksa dan setidaknya salah satu token dalam baris cocok persis dengan kata kunci, baris tersebut memenuhi kondisi kueri. Kata kunci tidak dipecah menjadi token.

Prasyarat

Parameter

Parameter

Deskripsi

table_name

Nama tabel data.

index_name

Nama indeks pencarian.

offset

Posisi dari mana kueri saat ini dimulai.

limit

Jumlah maksimum baris yang ingin Anda kembalikan dalam kueri saat ini.

Untuk hanya menanyakan jumlah baris yang memenuhi kondisi kueri tanpa menanyakan data spesifik dari baris, atur parameter ini ke 0.

get_total_count

Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default: false. Nilai false menentukan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan.

Jika parameter ini disetel ke true, performa kueri akan terpengaruh.

query_type

Tipe kueri. Untuk menggunakan kueri tepat, atur parameter ini ke QueryTypeConst::TERM_QUERY.

field_name

Nama kolom yang ingin Anda cocokkan.

term

Kata kunci yang digunakan untuk mencocokkan nilai kolom saat Anda melakukan kueri tepat.

Kata ini tidak dipecah menjadi token. Sebaliknya, seluruh kata digunakan untuk mencocokkan nilai kolom.

Jika tipe kolom adalah TEXT, Tablestore memecah string menjadi token dan menggunakan token-token tersebut untuk mencocokkan kata kunci. Baris memenuhi kondisi kueri ketika setidaknya salah satu token dalam baris cocok persis dengan kata kunci. Misalnya, string TEXT "tablestore is cool" dipecah menjadi "tablestore", "is", dan "cool". Saat Anda menentukan salah satu token ini sebagai string pencarian, Anda dapat mengambil hasil kueri yang berisi "tablestore is cool".

sort

Metode yang ingin Anda gunakan untuk mengurutkan baris dalam respons. Untuk informasi lebih lanjut, lihat Pengurutan dan paging.

columns_to_get

Menentukan apakah akan mengembalikan semua kolom dari setiap baris yang memenuhi kondisi kueri. Anda dapat mengonfigurasi return_type dan return_names untuk parameter ini.

  • Jika Anda menyetel return_type ke ColumnReturnTypeConst::RETURN_SPECIFIED, Anda dapat menggunakan return_names untuk menentukan kolom yang akan dikembalikan.

  • Jika Anda menyetel parameter return_type ke ColumnReturnTypeConst::RETURN_ALL, semua kolom dikembalikan.

  • Jika Anda menyetel return_type ke ColumnReturnTypeConst::RETURN_ALL_FROM_INDEX, semua kolom dalam indeks pencarian dikembalikan.

  • Jika Anda menyetel parameter return_type ke ColumnReturnTypeConst::RETURN_NONE, hanya kolom kunci utama yang dikembalikan.

Contoh

Berikut adalah contoh kode yang menunjukkan cara menanyakan semua baris yang berisi istilah "keyword" di kolom keyword dalam tabel data.

$request = array(
    'table_name' => 'php_sdk_test',
    'index_name' => 'php_sdk_test_search_index',
    'search_query' => array(
        'offset' => 0,
        'limit' => 2,
        'get_total_count' => true,
        'query' => array(
            'query_type' => QueryTypeConst::TERM_QUERY,
            'query' => array(
                'field_name' => 'keyword',
                'term' => 'keyword'
            )
        ),
        'sort' => array(
            array(
                'field_sort' => array(
                    'field_name' => 'keyword',
                    'order' => SortOrderConst::SORT_ORDER_ASC
                )
            ),
        )
    ),
    'columns_to_get' => array(
        'return_type' => ColumnReturnTypeConst::RETURN_ALL,
        'return_names' => array('keyword', 'long')
    )
);
$response = $otsClient->search($request);

FAQ

Referensi

  • Saat menggunakan indeks pencarian untuk menanyakan data, Anda dapat menggunakan metode kueri berikut: kueri tepat, kueri terms, kueri match all, kueri match, kueri match phrase, kueri prefix, kueri range, kueri wildcard, kueri Boolean, kueri geo, kueri nested, dan kueri exists. Metode kueri ini dapat digunakan untuk menanyakan data dari beberapa dimensi sesuai kebutuhan bisnis Anda.

    Untuk mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri, gunakan fitur pengurutan dan paging. Untuk informasi lebih lanjut, lihat Pengurutan dan Paging.

    Untuk merangkum set hasil berdasarkan kolom tertentu, gunakan fitur collapse (distinct). Dengan cara ini, data dari tipe yang ditentukan muncul hanya sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (Distinct).

  • Untuk menganalisis data dalam tabel data, seperti mendapatkan nilai ekstrem, jumlah, dan total jumlah baris, gunakan operasi agregasi atau jalankan pernyataan SQL. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.

  • Untuk mendapatkan semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkan baris, panggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Pemindaian Paralel.