All Products
Search
Document Center

Tablestore:Match phrase query

Last Updated:Aug 07, 2026

Gunakan Tablestore SDK for Python untuk mengkueri bidang Text berdasarkan urutan dan posisi token.

Prasyarat

Instal Tablestore SDK for Python dan inisialisasi klien.

Deskripsi

Kueri match phrase mencari bidang Text (lihat String types) untuk token yang muncul dalam urutan dan posisi tertentu. Baik nilai bidang maupun teks kueri ditokenisasi oleh alat analisis yang dikonfigurasi untuk indeks pencarian. Berbeda dengan Match query, yang hanya memeriksa kecocokan token, kueri match phrase juga memverifikasi urutan dan posisi token tersebut. Gunakan parameter slop untuk mengizinkan celah antara token yang berdekatan.

MatchPhraseQuery(field_name, text, weight=None, slop=None)

Contoh berikut mengkueri baris di mana bidang description berisi token tablestore dan durable secara berurutan dan berdampingan.

query = MatchPhraseQuery("description", "tablestore durable")
response = client.search(
    "example_table",
    "example_index",
    SearchQuery(
        query,
        sort=Sort([ScoreSort()]),
        limit=10,
        get_total_count=True,
    ),
    ColumnsToGet(return_type=ColumnReturnType.ALL),
)
for hit in response.search_hits:
    print(hit.score, hit.row)

Parameter

Permintaan pencarian

Metode search mencakup parameter berikut.

Name

Type

Description

table_name (required)

str

Nama tabel data.

index_name (required)

str

Nama indeks pencarian.

search_query (required)

SearchQuery

Kondisi kueri dan konfigurasi kueri umum.

columns_to_get (optional)

ColumnsToGet

Konfigurasi kolom yang dikembalikan. Jika parameter ini tidak ditentukan, hanya kolom kunci primer yang dikembalikan.

routing_keys (optional)

list

Nilai kunci primer dari bidang routing kustom. Parameter ini tidak diperlukan jika routing kustom tidak dikonfigurasi.

timeout_s (optional)

int

Timeout permintaan dalam detik. Jika parameter ini tidak ditentukan, timeout tingkat client yang digunakan.

Konfigurasi kueri

search_query bertipe SearchQuery dan mencakup parameter berikut.

Name

Type

Description

query (required)

Query

Kondisi kueri. Atur parameter ini ke MatchPhraseQuery.

sort (optional)

Sort

Urutan pengurutan hasil. Untuk informasi selengkapnya, lihat Sort and paginate results.

get_total_count (optional)

bool

Menentukan apakah jumlah total baris yang cocok dikembalikan. Nilai default: False. Mengatur parameter ini ke True meningkatkan beban kueri.

next_token (optional)

bytes

Token paginasi. Teruskan next_token dari respons sebelumnya untuk mengambil halaman berikutnya.

offset (optional)

int

Offset tempat kueri dimulai. Gunakan parameter ini untuk paginasi dangkal.

limit (optional)

int

Jumlah maksimum baris yang dikembalikan. Jika parameter ini diatur ke 0, tidak ada baris yang dikembalikan.

aggs (optional)

list[Agg]

Konfigurasi agregasi metrik. Untuk informasi selengkapnya, lihat Aggregation.

group_bys (optional)

list[BaseGroupBy]

Konfigurasi pengelompokan. Untuk informasi selengkapnya, lihat Aggregation.

collapse_field (optional)

Collapse

Konfigurasi collapse hasil. Untuk informasi selengkapnya, lihat Collapse query results.

highlight (optional)

Highlight

Konfigurasi ringkasan dan penyorotan untuk bidang Text. Untuk informasi selengkapnya, lihat Summary and highlighting.

Kondisi match phrase

search_query.query bertipe MatchPhraseQuery dan mencakup parameter berikut.

Name

Type

Description

field_name (required)

str

Nama bidang Text yang akan dikueri.

text (required)

str

Teks kueri. Teks ini ditokenisasi oleh alat analisis bidang dan dicocokkan berdasarkan urutan dan posisi token.

weight (optional)

float

Bobot kueri, yang harus berupa bilangan titik mengambang positif. Nilai default: 1.0. Bobot ini memengaruhi skor relevansi tetapi tidak memengaruhi pencocokan.

slop (optional)

int

Celah posisi maksimum yang diizinkan antara token kueri yang berdekatan. Nilai default: 0, yang mengharuskan token berurutan tanpa celah.

Kolom yang dikembalikan

columns_to_get bertipe ColumnsToGet dan mencakup parameter berikut.

Name

Type

Description

column_names (optional)

list[str]

Nama kolom atribut yang dikembalikan. Tentukan parameter ini hanya ketika return_type bernilai SPECIFIED.

return_type (optional)

ColumnReturnType

Mode kolom yang dikembalikan. NONE (default) hanya mengembalikan kolom kunci primer; SPECIFIED mengembalikan kolom atribut tertentu; ALL mengembalikan semua kolom atribut dalam tabel; dan ALL_FROM_INDEX mengembalikan semua bidang yang disimpan dalam indeks.

Respons

Metode search mengembalikan objek SearchResponse. Tabel berikut menjelaskan bidang utamanya.

Field

Type

Description

rows

list[Row]

Baris yang dikembalikan oleh kueri. Jumlahnya tidak melebihi limit.

next_token

bytes

Token untuk halaman berikutnya. Nilai kosong menunjukkan bahwa tidak ada data tambahan.

total_count

int

Jumlah baris yang cocok. Nilainya bergantung pada get_total_count.

is_all_succeed

bool

Menunjukkan apakah semua partisi indeks telah dikueri. Jika nilainya False, hasil parsial dikembalikan.

agg_results

list[AggResult]

Hasil agregasi metrik. Bidang ini kosong jika aggs tidak dikonfigurasi.

group_by_results

list[GroupByResult]

Hasil pengelompokan. Bidang ini kosong jika group_bys tidak dikonfigurasi.

search_hits

list[SearchHit]

Hasil pencarian, termasuk informasi tambahan seperti baris, skor relevansi, dan sorotan.

Respons kompatibel tupel

Mulai Tablestore SDK for Python versi 5.2.0, API pencarian mengembalikan objek respons, bukan tupel. Versi 5.1.0 dan sebelumnya mengembalikan tupel secara langsung. Di versi 5.2.1 dan seterusnya, Anda dapat memanggil SearchResponse.v1_response() untuk mendapatkan tupel yang kompatibel dengan versi sebelumnya. Untuk kode baru, akses atribut SearchResponse secara langsung guna menghindari error unpacking jika bidang respons diperluas.

(
    rows,
    next_token,
    total_count,
    is_all_succeed,
    agg_results,
    group_by_results,
    search_hits,
) = response.v1_response()