全部产品
Search
文档中心

Tablestore:Kueri frasa cocok

更新时间:Jul 06, 2025

Kueri frasa cocok mirip dengan kueri cocok, tetapi kueri frasa cocok mengevaluasi posisi token. Baris hanya memenuhi kondisi kueri jika urutan dan posisi token dalam baris sesuai dengan urutan dan posisi token dalam kata kunci. Jika metode tokenisasi untuk bidang yang ingin Anda kueri adalah tokenisasi fuzzy, kueri frasa cocok memiliki latensi lebih rendah dibandingkan dengan kueri wildcard.

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 dapatkan dari kueri saat ini.

Untuk hanya menanyakan jumlah baris yang memenuhi kondisi kueri tanpa mengembalikan data spesifik, Anda dapat mengatur Limit ke 0. Dengan cara ini, Tablestore mengembalikan jumlah baris yang memenuhi kondisi kueri tanpa data spesifik dari tabel.

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 Anda mengatur parameter ini ke true, performa kueri akan berkurang.

query_type

Tipe kueri. Untuk menggunakan kueri frasa cocok, atur parameter ini ke QueryTypeConst::MATCH_PHRASE_QUERY.

field_name

Nama bidang yang ingin Anda cocokkan.

Kueri frasa cocok berlaku untuk bidang TEXT.

text

Kata kunci yang digunakan untuk mencocokkan nilai bidang saat Anda melakukan kueri frasa cocok.

Jika bidang yang ingin Anda cocokkan adalah bidang TEXT, kata kunci di-tokenisasi menjadi beberapa token berdasarkan tipe analyzer yang Anda tentukan saat membuat indeks pencarian. Jika Anda tidak menentukan tipe analyzer saat membuat indeks pencarian, tokenisasi satu kata dilakukan.

Sebagai contoh, jika Anda melakukan kueri frasa cocok menggunakan frasa "this is", "..., this is tablestore" dan "this is a table" dikembalikan. "this table is ..." atau "is this a table" tidak dikembalikan.

columns_to_get

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

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

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

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

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

Contoh

Berikut ini adalah kode sampel yang menunjukkan cara menggunakan kueri frasa cocok untuk mencari baris di mana nilai kolom teks cocok dengan "text keyword":

$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::MATCH_PHRASE_QUERY,
            'query' => array(
                'field_name' => 'text',
                'text' => 'text keyword'
            )
        ),
        'sort' => array(
            array(
                'field_sort' => array(
                    'field_name' => 'keyword',
                    'order' => SortOrderConst::SORT_ORDER_ASC
                )
            ),
        )
    ),
    'columns_to_get' => array(
        'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
        'return_names' => array('text')
    )
);
$response = $otsClient->search($request);

FAQ

Referensi

  • Saat menggunakan indeks pencarian untuk menanyakan data, Anda dapat menggunakan metode kueri berikut: kueri tepat, kueri terms, kueri cocok semua, kueri cocok, kueri frasa cocok, kueri awalan, kueri rentang, kueri wildcard, kueri Boolean, kueri geo, kueri nested, dan kueri exists. Anda dapat menggunakan metode kueri yang berbeda untuk menanyakan data dari berbagai dimensi sesuai kebutuhan bisnis Anda.

    Jika Anda ingin mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri, Anda dapat menggunakan fitur pengurutan dan paging. Untuk informasi lebih lanjut, lihat Pengurutan dan Paging.

    Jika Anda ingin meruntuhkan set hasil berdasarkan kolom tertentu, Anda dapat menggunakan fitur collapse (distinct). Dengan cara ini, data dari jenis yang ditentukan muncul hanya sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (Distinct).

  • Jika Anda ingin menganalisis data dalam tabel data, seperti mendapatkan nilai ekstrem, jumlah total, dan jumlah baris, Anda dapat menjalankan operasi agregasi atau pernyataan SQL. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.

  • Jika Anda ingin dengan cepat 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.