All Products
Search
Document Center

OpenSearch:Schema

Last Updated:Aug 23, 2026

Skema mendefinisikan struktur data aplikasi OpenSearch. Skema ini terdiri dari dua objek tingkat atas: tables, yang menjelaskan cara data Anda diorganisasi, dan indexes, yang mengatur cara data tersebut dicari dan difilter. Setiap field dalam tabel harus didaftarkan dalam skema sebelum dapat digunakan untuk pencarian atau sebagai filter.

Contoh

{
    "tables": {
        "main": {
            "primaryTable": true,
            "name": "main",
            "fields": {
                "id": {
                    "name": "id",
                    "type": "LITERAL",
                    "primaryKey": true
                },
                "title": {
                    "name": "title",
                    "type": "TEXT",
                    "primaryKey": false
                },
                "buy": {
                    "name": "buy",
                    "type": "INT",
                    "primaryKey": false
                },
                "cate_id": {
                    "name": "cate_id",
                    "type": "INT",
                    "primaryKey": false
                },
                "cate_name": {
                    "name": "cate_name",
                    "type": "LITERAL",
                    "primaryKey": false
                }
            }
        }
    },
    "indexes": {
        "searchFields": {
            "id": {
                "fields": [
                    "id"
                ]
            },
            "default": {
                "fields": [
                    "title"
                ],
                "analyzer": "chn_standard"
            },
            "cate_name": {
                "fields": [
                    "cate_name"
                ]
            }
        },
        "filterFields": [
            "id",
            "buy",
            "cate_id",
            "cate_name"
        ]
    }
}

Contoh ini mendefinisikan satu tabel (main) dengan lima field. Objek indexes memetakan tiga field tersebut ke indeks pencarian dan mencantumkan empat field sebagai field filter (atribut).

Struktur

Schema

FieldTypeRequiredDescription
tablesObjectYesDefinisi tabel. Setiap kunci adalah nama tabel; lihat Table untuk struktur setiap nilai.
indexesObjectYesKonfigurasi indeks. Lihat Index.

Table

Contoh

{
    "primaryTable": true,
    "name": "main",
    "fields": {
        "id": {
            "name": "id",
            "type": "LITERAL",
            "primaryKey": true
        },
        "title": {
            "name": "title",
            "type": "TEXT",
            "primaryKey": false
        }
    }
}

Struktur

FieldTypeRequiredDescription
nameStringYesNama tabel.
primaryTableBooleanYesMenentukan apakah tabel ini merupakan tabel utama.
fieldsObjectYesDefinisi field. Setiap kunci adalah nama field; lihat Field untuk struktur setiap nilai.

Field

Contoh

{
    "name": "json_nested",
    "type": "NESTED",
    "primaryKey": false,
    "innerSchema": {
        "job": {
            "name": "job",
            "type": "TEXT",
            "primaryKey": false
        },
        "ssn": {
            "name": "ssn",
            "type": "LITERAL",
            "primaryKey": false
        }
    }
}

Struktur

FieldTypeRequiredDescription
nameStringYesNama field.
typeStringYesTipe field: LITERAL, TEXT, INT, NESTED, atau OBJECT. Untuk detailnya, lihat Application schema.
primaryKeyBooleanYesMenentukan apakah field ini merupakan primary key.
joinWithArrayNoMenghubungkan field ini ke tabel data eksternal yang terkait.
innerSchemaObjectNoStruktur field bersarang. Diperlukan ketika type bernilai OBJECT atau NESTED. Mendukung beberapa tingkat bersarang.

Index

Contoh

{
    "searchFields": {
        "default": {
            "fields": [
                "title"
            ],
            "analyzer": "chn_standard"
        },
        "id": {
            "fields": [
                "id"
            ]
        }
    },
    "filterFields": [
        "id"
    ]
}

Struktur

FieldTypeRequiredDescription
searchFieldsObjectYesDefinisi indeks pencarian teks penuh. Setiap kunci adalah nama indeks; lihat SearchField untuk struktur setiap nilai.
filterFieldsArrayYesDaftar field atribut.

SearchField

Contoh

{
    "fields": ["title"],
    "analyzer": "chn_standard"
}

Struktur

FieldTypeRequiredDescription
fieldsArrayYesField tabel yang disertakan dalam indeks pencarian ini.
analyzerStringNoAlat analisis yang diterapkan. Untuk alat analisis kustom, lihat Custom analyzers. Untuk alat analisis bawaan, lihat Built-in analyzers di bawah dan Built-in analyzers.

Built-in analyzers

Chinese

AnalyzerDescription
chn_standardAnalisis bahasa Tionghoa umum. Gunakan untuk sebagian besar field pencarian teks penuh berbahasa Tionghoa.
chn_singleAnalisis karakter Tionghoa tunggal. Gunakan ketika setiap karakter diperlakukan sebagai token independen.
chn_ecommerceAnalisis e-commerce Tionghoa. Dioptimalkan untuk nama produk dan kueri belanja.
chn_filmAnalisis video dan hiburan Tionghoa. Dioptimalkan untuk judul film dan konten media.
chn_scene_nameAnalisis nama pribadi Tionghoa.
chn_scene_orgAnalisis nama organisasi Tionghoa.
chn_it_contentAnalisis konten IT untuk teks berbahasa Tionghoa.

English

AnalyzerDescription
eng_standardAnalisis bahasa Inggris dengan stemming. Mencocokkan varian kata (misalnya, "running" cocok dengan "run").
eng_nostemAnalisis bahasa Inggris tanpa stemming. Hanya mencocokkan bentuk kata eksak.

Language-agnostic and special-purpose

AnalyzerDescription
simpleAnalisis sederhana. Memisahkan berdasarkan spasi dan tanda baca, serta mengubah token menjadi huruf kecil.
keywordAnalisis keyword. Memperlakukan seluruh nilai field sebagai satu token. Gunakan untuk field yang memerlukan pencocokan eksak.
fuzzyAnalisis fuzzy. Menghasilkan varian token untuk mendukung pencocokan perkiraan.
numericAnalisis numerik.
geoAnalisis geolokasi. Gunakan untuk field koordinat geografis.
first_letterAnalisis ejaan pinyin sederhana. Mengindeks huruf pertama dari setiap suku kata pinyin.
full_pinyinAnalisis ejaan pinyin lengkap. Mengindeks transkripsi pinyin secara utuh.