All Products
Search
Document Center

Tablestore:Term query

Last Updated:Apr 30, 2026

Gunakan term query untuk menemukan baris yang nilai bidangnya secara tepat sesuai dengan kata kunci tertentu. Untuk bidang TEXT, Tablestore melakukan tokenisasi terhadap nilai bidang tersebut dan mencocokkan setiap token dengan kata kunci—jika ada token yang cocok, baris tersebut dikembalikan. Kata kunci itu sendiri tidak mengalami tokenisasi.

Prasyarat

Parameter

Parameter

Deskripsi

query_type

Jenis kueri. Atur ke TermQuery.

field_name

Nama bidang yang akan dikueri.

term

Kata kunci yang dicocokkan terhadap nilai bidang. Kata kunci ini tidak mengalami tokenisasi — dicocokkan secara utuh.

Untuk bidang TEXT, Tablestore melakukan tokenisasi terhadap nilai bidang dan memeriksa setiap token terhadap kata kunci. Baris dikembalikan jika ada token yang secara tepat cocok.

Sebagai contoh, jika bidang TEXT berisi "tablestore is cool", nilainya ditokenisasi menjadi "tablestore", "is", dan "cool". Kueri untuk "tablestore", "is", atau "cool" akan mengembalikan baris tersebut.

table_name

Nama tabel data.

index_name

Nama indeks pencarian.

limit

Jumlah maksimum baris yang dikembalikan.

Atur ke 0 untuk hanya mendapatkan jumlah baris tanpa mengembalikan data baris.

get_total_count

Menentukan apakah jumlah total baris yang cocok dikembalikan. Nilai default: false.

Mengatur parameter ini ke true akan menurunkan performa kueri.

columns_to_get

Kolom yang dikembalikan untuk setiap baris yang cocok. Konfigurasikan return_type dan column_names sesuai kebutuhan.

  • ColumnReturnType.SPECIFIED: hanya mengembalikan kolom yang tercantum dalam column_names.

  • ColumnReturnType.ALL: mengembalikan semua kolom.

  • ColumnReturnType.NONE: hanya mengembalikan kolom kunci primer.

Contoh

Contoh berikut mengkueri baris yang bidang Col_Keyword-nya secara tepat sesuai dengan "tablestore".

  • Tablestore SDK untuk Python V5.2.1 atau yang lebih baru

    SDK untuk Python V5.2.1 dan versi yang lebih baru secara default mengembalikan objek SearchResponse. Contoh berikut menunjukkan term query dasar:

    query = TermQuery('Col_Keyword', 'tablestore')
    search_response = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>', 
        SearchQuery(query, limit=100, get_total_count=True), 
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    )
    print('request_id : %s' % search_response.request_id)
    print('is_all_succeed : %s' % search_response.is_all_succeed)
    print('total_count : %s' % search_response.total_count)
    print('rows : %s' % search_response.rows)
    
    # Untuk paginasi mendalam, gunakan next_token — tidak ada batasan kedalaman paginasi.
    # all_rows = []
    # next_token = None
    # # putaran pertama
    # search_response = client.search(
    #     '<TABLE_NAME>', '<SEARCH_INDEX_NAME>',
    #     SearchQuery(query, next_token=next_token, limit=100, get_total_count=True),
    #     columns_to_get=ColumnsToGet(return_type=ColumnReturnType.ALL))
    # all_rows.extend(search_response.rows)
    # 
    # # loop
    # while search_response.next_token:
    #     search_response = client.search(
    #         '<TABLE_NAME>', '<SEARCH_INDEX_NAME>', 
    #         SearchQuery(query, next_token=search_response.next_token, limit=100, get_total_count=True),
    #         columns_to_get=ColumnsToGet(return_type=ColumnReturnType.ALL))
    #     all_rows.extend(search_response.rows)
    # print('Total rows:%s' % len(all_rows))

    Untuk mendapatkan hasil sebagai Tuple, panggil .v1_response():

    query = TermQuery('Col_Keyword', 'tablestore')
    rows, next_token, total_count, is_all_succeed, agg_results, group_by_results = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>', 
        SearchQuery(query, limit=100, get_total_count=True), 
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    ).v1_response()
  • Tablestore SDK untuk Python versi sebelum 5.2.1

    SDK untuk Python versi sebelum 5.2.1 secara default mengembalikan hasil sebagai Tuple:

    query = TermQuery('Col_Keyword', 'tablestore')
    rows, next_token, total_count, is_all_succeed = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>', 
        SearchQuery(query, limit=100, get_total_count=True), 
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    )

FAQ

Referensi

  • Saat Anda menggunakan search index untuk mengkueri data, Anda dapat menggunakan metode kueri berikut: term query, terms query, match all query, match query, match phrase query, prefix query, range query, wildcard query, geo query, Boolean query, KNN vector query, nested query, dan exists query. Anda dapat menggunakan metode kueri yang disediakan oleh search index untuk mengkueri data dari berbagai dimensi sesuai kebutuhan bisnis Anda.

    Anda dapat mengurutkan atau menerapkan paginasi pada baris yang memenuhi kondisi kueri dengan menggunakan fitur pengurutan dan paginasi. Untuk informasi selengkapnya, lihat Sorting and paging.

    Anda dapat menggunakan fitur collapse (distinct) untuk menciutkan set hasil berdasarkan kolom tertentu sehingga data jenis tertentu hanya muncul sekali dalam hasil kueri. Untuk informasi selengkapnya, lihat Collapse (distinct).

  • Jika Anda ingin menganalisis data dalam tabel data, Anda dapat menggunakan fitur agregasi dari operasi Search atau mengeksekusi pernyataan SQL. Misalnya, Anda dapat memperoleh nilai minimum dan maksimum, jumlah total, serta jumlah baris. Untuk informasi selengkapnya, lihat Aggregation dan SQL query.

  • Jika Anda ingin memperoleh semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkan baris tersebut, Anda dapat memanggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi selengkapnya, lihat Parallel scan.