全部产品
Search
文档中心

OpenSearch:Menginisiasi permintaan pencarian

更新时间:Jun 26, 2025

OpenSearch menyediakan berbagai sintaksis pencarian untuk memenuhi kebutuhan pencarian Anda dalam berbagai skenario.

URL

/v3/openapi/apps/$app_name/search?fetch_fields=name&query=config=format:fulljson&&query=name:'zhangsan'&&sort=id

  • $app_name: Nama aplikasi. OpenSearch menyediakan aplikasi standar dan lanjutan. Parameter ini wajib. Permintaan pencarian dikirim ke versi online dari aplikasi.

  • Contoh URL menghilangkan informasi seperti parameter di header permintaan dan metode pengkodean.

  • Contoh URL juga menghilangkan titik akhir yang digunakan untuk terhubung ke OpenSearch.

  • Untuk informasi lebih lanjut tentang definisi, penggunaan, dan nilai contoh semua parameter permintaan yang digabungkan dalam URL sebelumnya, lihat bagian "Parameter Permintaan" dari topik ini.

Protokol

HTTP

Metode permintaan

GET

Format yang didukung

JSON

Parameter permintaan

Untuk informasi lebih lanjut tentang aturan penggabungan parameter permintaan, lihat Metode Tanda Tangan API OpenSearch V3.

Parameter

Tipe

Wajib

Nilai valid

Nilai default

Deskripsi

query

string

Ya

Wajib. Tubuh permintaan pencarian. Klausul berikut didukung: config clause, query clause, sort clause, filter clause, aggregate clause, distinct clause, dan kvpairs clause.

fetch_fields

string

Semua bidang tampilan

Bidang yang akan diambil dalam pencarian ini. Pisahkan beberapa bidang dengan titik koma (;). Bidang tersebut sesuai dengan bidang tampilan default di konsol OpenSearch.

qp

string

Aturan yang tersedia

Aturan analisis query yang akan digunakan. Pisahkan beberapa aturan dengan koma (,).

disable

string

Tidak

Menonaktifkan fitur yang diaktifkan yang ditentukan oleh parameter tertentu.

first_rank_name

string

Nama ekspresi sortir kasar default

Nama ekspresi sortir kasar.

second_rank_name

string

Nama ekspresi sortir halus default

Nama ekspresi sortir halus.

user_id

string

Tidak

ID pengguna Anda yang memulai permintaan pencarian. Nilai valid: ID anggota panjang pengguna Anda dan Identitas Peralatan Bergerak Internasional (IMEI) perangkat seluler pengguna Anda. Yang pertama lebih diutamakan daripada yang terakhir.

abtest

string

Tidak

Parameter ini diperlukan jika Anda menggunakan fitur Uji A/B.

raw_query

string

Tidak

Parameter ini diperlukan untuk melatih algoritma seperti prediksi kategori. Kami sarankan Anda menyetel parameter ini untuk semua permintaan pencarian.

re_search

string

Tidak

Kebijakan pencarian ulang. Kebijakan pencarian ulang dapat dikonfigurasikan hanya berdasarkan ambang batas total hit.

biz

string

Tidak

Informasi bisnis tentang permintaan pencarian, seperti jenis bisnis sumber dari mana permintaan pencarian dikirim.

summary

string

Pengaturan ringkasan hasil pencarian di OpenSearch

Pengaturan ringkasan hasil pencarian. Anda dapat menentukan bidang tertentu yang ingin disorot merah atau dipotong.

from_request_id

string

Tidak

Permintaan sumber yang membimbing permintaan pencarian ini. Jika kueri pencarian direkomendasikan oleh fitur seperti saran drop-down, pencarian teratas, dan petunjuk, Anda dapat menetapkan ID permintaan pencarian yang mencari kueri pencarian yang direkomendasikan ke parameter ini. Dengan cara ini, berbagai metrik fitur dapat dihitung. Anda dapat menilai efek fitur berdasarkan metrik dan mengoptimalkan fitur berdasarkan hasil penilaian. Untuk informasi lebih lanjut, lihat Saran drop-down.

query clause

string

Ya

Menentukan kondisi pencarian.

config clause

string

Ya

Menentukan format hasil pencarian dan jumlah dokumen yang diambil.

filter clause

string

Menentukan kondisi filter.

sort clause

string

Menentukan kondisi yang digunakan untuk mengurutkan dokumen. Klausul sortir mendukung pengurutan berdasarkan satu bidang bertipe INT. Versi API OpenSearch dan SDK OpenSearch harus V3.

fetch_fields

string

Bidang yang akan dikembalikan dalam hasil pencarian.

Penggunaan parameter permintaan

  • query: Anda dapat menentukan beberapa klausa untuk memenuhi berbagai kebutuhan pencarian. Klausul dalam parameter query dihubungkan oleh &&.

  • fetch_fields: Ukuran data teks yang dikembalikan memiliki dampak besar pada kinerja pencarian. Kami sarankan Anda hanya mengembalikan bidang yang diperlukan. Parameter fetch_fields yang disetel dalam SDK atau operasi API lebih diutamakan daripada bidang tampilan default yang ditentukan di konsol OpenSearch.

  • qp: Parameter qp yang disetel dalam SDK atau operasi API lebih diutamakan daripada aturan analisis query yang ditentukan di konsol OpenSearch.

  • disable: Anda dapat menonaktifkan fitur yang ditentukan oleh parameter seperti qp, summary, first_rank, second_rank, dan re_search.

    Deskripsi

    • Anda dapat menggunakan parameter ini untuk menonaktifkan fitur tertentu selama pencarian.

    • Anda dapat menonaktifkan fitur seperti analisis query, sorotan merah, sortir kasar dan halus, dan pencarian ulang.

    Format Parameter:

    disable=function[;function]
    function=function_name[:function_param]
    • Contoh:

      • Nonaktifkan fitur analisis query: disable=qp

      • Nonaktifkan fitur koreksi ejaan dalam analisis query: disable=qp:spell_check

      • Nonaktifkan fitur pencarian ulang: disable=re_search

  • first_rank_name: Parameter first_rank_name yang disetel dalam SDK atau operasi API lebih diutamakan daripada ekspresi sortir kasar yang ditentukan di konsol OpenSearch.

  • second_rank_name: Parameter second_rank_name yang disetel dalam SDK atau operasi API lebih diutamakan daripada ekspresi sortir halus yang ditentukan di konsol OpenSearch.

  • user_id:

    • Saat Anda menyetel parameter ini dalam permintaan pencarian, Anda harus melakukan pengkodean URL pada nilai parameter ini.

    • Statistik tentang pengunjung unik (UV) dikumpulkan berdasarkan parameter ini saat fitur statistik data digunakan.

    • Jika fitur pengumpulan data digunakan, kami sarankan Anda menyetel parameter user_id saat Anda melaporkan data perilaku dengan cara yang sama seperti Anda menyetel parameter user_id dalam permintaan pencarian.

  • Format Parameter abtest:abtest=urlencode(scene_tag:urlencode(\$scene),flow_divider:urlencode(\$value)), di mana urlencode adalah fungsi pengkodean URL.

    • Kami sarankan Anda mengganti flow_divider dengan ID pengguna Anda. Anda dapat menggunakan ID perangkat atau alamat IP pengguna Anda sebagai alternatif. Parameter ini diperlukan.

    • scene_tag: Indikator adegan uji. Jika Anda tidak mengonfigurasi tes untuk permintaan pencarian di semua adegan, parameter ini tidak diperlukan.

  • raw_query:

    Deskripsi

    • Parameter ini digunakan untuk pencarian berdasarkan prediksi kategori. Hasil pencarian diurutkan berdasarkan prediksi kategori hanya ketika kueri pencarian sama dengan nilai parameter raw_query.

    • Parameter ini digunakan untuk melatih algoritma seperti model prediksi kategori. Kami sarankan Anda menyetel parameter ini untuk semua permintaan pencarian.

    • Kami sarankan Anda menyetel parameter ini ke kueri pencarian yang dimasukkan oleh pengguna Anda.

    Format Parameter:

    raw_query=content
    • content: Kueri pencarian asli.

  • re_search:

    Deskripsi

    • Parameter ini digunakan untuk mengonfigurasi kebijakan pencarian ulang. Kebijakan pencarian ulang dapat dikonfigurasikan hanya berdasarkan ambang batas total hit.

    Format Parameter:

    re_search=strategy:threshold,params:total_hits#${COUNT}
    • COUNT: Jumlah minimum total hit yang diizinkan jika Anda tidak ingin memicu pencarian ulang. Ketika jumlah total hit kurang dari nilai parameter COUNT, pencarian ulang dilakukan.

    • Contoh:

      • re_search=url_encode(strategy:threshold,params:total_hits#6)

  • biz:

    Deskripsi

    • Parameter ini digunakan untuk menggambarkan informasi bisnis tentang permintaan, seperti jenis bisnis sumber dari mana permintaan pencarian dikirim.

      Format Parameter:

      biz=type:$TYPE
    • type: Jenis sumber dari mana permintaan pencarian dikirim. Anda dapat menyesuaikan nilai parameter ini. Parameter ini membantu mengumpulkan statistik tentang sumber permintaan dalam laporan.

    • Contoh:

      • biz=type:home_page

  • summary:

    • Parameter summary_element_prefix dan summary_element_postfix harus digunakan berpasangan.

    • Parameter summary_element dan pasangan summary_element_prefix dan summary_element_postfix saling memengaruhi. Konfigurasi yang muncul kemudian lebih diutamakan daripada konfigurasi yang muncul sebelumnya.

    • Ringkasan dan pengaturan yang digunakan untuk menyorot istilah merah tidak dapat dikonfigurasi secara terpisah.

    • Parameter summary yang disetel dalam SDK atau operasi API lebih diutamakan daripada pengaturan ringkasan hasil pencarian di konsol OpenSearch.

Parameter

Tipe

Wajib

Nilai valid

Nilai default

Deskripsi

summary_field

string

Ya

Bidang yang ingin Anda konfigurasikan ringkasannya.

summary_element

string

Tidak

em

Tag HTML yang digunakan untuk menyorot istilah merah. Tanda kurung sudut kiri dan kanan dihapus dari tag HTML.

summary_ellipsis

string

Tidak

...

Elipsis (...) di akhir ringkasan.

summary_snipped

int

Tidak

1

Jumlah segmen yang diperlukan dalam ringkasan.

summary_len

string

Tidak

Panjang ringkasan.

summary_element_prefix

string

Tidak

Awalan yang digunakan untuk menyorot istilah merah. Awalan harus berupa tag HTML lengkap, seperti <em>.

summary_element_postfix

string

Tidak

Akhiran yang digunakan untuk menyorot istilah merah. Akhiran harus berupa tag HTML lengkap, seperti </em>.

Parameter respons

Parameter

Tipe

Deskripsi

status

string

Hasil eksekusi pencarian. Nilai valid: OK dan FAIL. Nilai OK menunjukkan bahwa pencarian berhasil. Nilai FAIL menunjukkan bahwa pencarian gagal. Dalam hal ini, perbaiki kesalahan berdasarkan kode kesalahan.

request_id

string

ID permintaan, yang digunakan untuk pemecahan masalah.

result

string

Informasi tentang hasil pencarian, yang mencakup parameter searchtime, total, num, viewtotal, items, dan facet.

errors

string

Informasi kesalahan, di mana parameter error_message menunjukkan pesan kesalahan. Untuk informasi lebih lanjut tentang kode kesalahan, lihat Kode kesalahan.

  • searchtime: Periode waktu yang dibutuhkan oleh mesin untuk menyelesaikan pencarian. Unit: detik.

  • Perbedaan antara parameter total, viewtotal, dan num: Parameter total menunjukkan jumlah hasil yang memenuhi kondisi di mesin untuk pencarian tunggal tanpa memperhatikan klausa config. Jika jumlah hasilnya besar, nilai parameter total dioptimalkan. Namun, untuk memastikan kinerja pencarian dan relevansi, mesin mengembalikan hasil dengan jumlah yang kurang dari atau sama dengan nilai parameter viewtotal. Jika Anda memerlukan paging, jumlah nilai parameter start and hit harus kurang dari nilai parameter viewtotal. Parameter total biasanya digunakan untuk tampilan. Parameter num menunjukkan jumlah entri yang dikembalikan untuk permintaan pencarian ini. Nilai parameter ini dibatasi oleh parameter start dan hit dalam klausa config dan tidak melebihi nilai parameter hit.

  • items: Hasil pencarian. Parameter fields menunjukkan konten hasil pencarian.

  • variableValue: Nilai parameter kustom, seperti nilai parameter jarak. Parameter variableValue ditampilkan hanya ketika format dari config clause adalah XML atau fullJSON, dan tidak ditampilkan ketika formatnya adalah JSON secara default.

  • sortExprValues: Skor sortir dokumen.

  • facet: Statistik yang dikembalikan oleh klausa aggregate.

  • Bidang Tipe ARRAY: Jika respons dalam format JSON atau fullJSON, data dipisahkan oleh karakter tab (\t). Jika respons dalam format XML, data dipisahkan oleh spasi.

Contoh respons pencarian

Respons dalam Format JSON

{
    "status": "OK",
    "request_id": "155310917017444091100003",
    "result": {
        "searchtime": 0.031081,
        "total": 1,
        "num": 1,
        "viewtotal": 1,
        "compute_cost": [
            {
                "index_name": "84922",
                "value": 0.292
            }
        ],
        "items": [
            {
                "cat_id": "84922",
                "text_field": "Legenda bola basket Kobe suka meinv",
                "index_name": "84922"
            }
        ],
        "facet": []
    },
    "qp": [
        {
            "app_name": "84922",
            "query_correction_info": [
                {
                    "index": "default",
                    "original_query": "Applet iphone charger",
                    "corrected_query": "Apple iphone charger",
                    "correction_level": 1,
                    "processor_name": "spell_check"
                }
            ]
        }
    ],
    "errors": [],
    "tracer": "",
    "ops_request_misc": "%7B%22request%5Fid%22%3A%22155310917017444091100003%22%7D"
}

Respons Kesalahan

{
    "status": "OK",
    "request_id": "150149648719953661651650",
    "result": {
        "searchtime": 0.402225,
        "total": 1,
        "num": 0,
        "viewtotal": 0,
        "items": [
         {
                "fields": {
                    "id": "10",
                    "name": "Ini adalah judul dokumen baru ",
                    "phone": "13900001111",
                    "index_name": "app_schema_demo"
                },
                "property": {},
                "attribute": {},
                "variableValue": {},
               "sortExprValues": [
                    "10",
                    "10000.1354238242"
                ]
            }
        ],
        "facet": []
    },
    "errors": [
        {
            "code": 1000,
            "message": "Kesalahan server."
        }
    ],
    "tracer": "",
    "ops_request_misc":"%7B%22request%5Fid%22%3A%22156680563319723149105067%22%2C%22scm%22%3A%2220140713.115106..%22%7D"
}
  • Catatan: Nilai parameter status adalah FAIL ketika terjadi kesalahan, dan tidak ada hasil yang dikembalikan. Nilai parameter status adalah OK ketika baik kesalahan maupun hasil dikembalikan. Jika terjadi kesalahan seperti 1000 server error yang menunjukkan bahwa waktu pencarian habis atau 2112 yang menunjukkan bahwa indeks yang ditentukan dalam penyortiran halus tidak valid, hasil mungkin tetap dikembalikan.

Pencarian Gulir

Untuk pencarian reguler, tujuannya adalah untuk mengambil hasil yang paling sesuai dalam waktu sesingkat mungkin. Oleh karena itu, jumlah dokumen yang dapat disertakan dalam hasil pengembalian dibatasi. Sebagai contoh, hasil pengembalian dari pencarian reguler tidak dapat berisi lebih dari 5.000 dokumen. Namun, dalam beberapa skenario, Anda mungkin memerlukan lebih banyak hasil untuk analisis. Dalam hal ini, Anda dapat menggunakan pencarian gulir untuk mendapatkan lebih banyak hasil pencarian.

Klausa yang Didukung

  • Klausa query.

  • Klausa config: Parameter start tidak valid.

  • Klausa filter.

  • Klausa sort, yang mendukung pengurutan berdasarkan satu field bertipe INT. Versi dari OpenSearch API dan OpenSearch SDK harus V3.

URL

Pencarian Pertama

/v3/openapi/apps/$app_name/search?search_type=scan&scroll=1m& Parameter permintaan

Pencarian Selanjutnya

/v3/openapi/apps/$app_name/search?scroll_id=$scroll_id&scroll=1m& Parameter permintaan

  • $app_name: Nama aplikasi.

  • URL contoh juga menghilangkan titik akhir yang digunakan untuk terhubung ke OpenSearch.

  • Dua URL permintaan gulir sebelumnya menghilangkan informasi seperti parameter dalam header permintaan dan metode pengkodean. Untuk informasi lebih lanjut tentang URL permintaan gulir lengkap, lihat bagian "Contoh Pencarian Gulir" dari topik ini.

  • Pencarian gulir mendukung sejumlah fitur terbatas, dan sebagian besar fitur tidak didukung. Untuk informasi lebih lanjut tentang batasan fitur pencarian gulir, lihat catatan di bagian "Contoh Pencarian Gulir" dari topik ini.

Protokol

HTTP

Metode permintaan HTTP

GET

Format yang didukung

JSON

Parameter permintaan

Parameter

Tipe

Diperlukan

Nilai valid

Nilai default

Deskripsi

scroll

STRING

Ya

Anda dapat menetapkan nilai dalam satuan minggu, hari, jam, menit, atau detik.

Masa berlaku ID scroll yang akan dikembalikan untuk eksekusi pertama pencarian scroll, dalam satuan minggu (w), hari (d), jam (h), menit (m), atau detik (s). Contoh: 1m.

search_type

STRING

Ya

scan

Tipe pencarian scroll. Anda hanya perlu menentukan parameter ini untuk eksekusi pertama pencarian scroll. Untuk eksekusi selanjutnya dari pencarian scroll, Anda dapat menentukan parameter scroll_id.

scroll_id

string

Ya

ID yang dikembalikan untuk pencarian scroll. Saat Anda menjalankan pencarian scroll untuk pertama kali, hanya ID scroll yang dikembalikan. Untuk mendapatkan hasil pencarian, gunakan ID ini untuk menjalankan pencarian scroll lagi. Untuk eksekusi selanjutnya dari pencarian scroll, ID ini diperlukan sebagai parameter permintaan dan dikembalikan sebagai parameter respons.

klausa query

string

Ya

Menentukan kondisi pencarian.

klausa config

string

Ya

Menentukan format hasil pencarian dan jumlah dokumen yang diambil.

klausa filter

string

Menentukan kondisi filter.

klausa sort

string

Menentukan kondisi yang digunakan untuk mengurutkan dokumen. Klausa sort mendukung pengurutan berdasarkan satu bidang bertipe INT. Versi OpenSearch API dan OpenSearch SDK harus V3.

fetch_fields

string

Bidang yang akan dikembalikan dalam hasil pencarian.

Parameter respons

Parameter

Tipe

Deskripsi

status

string

Hasil eksekusi pencarian. Nilai yang valid: OK dan FAIL. Nilai OK menunjukkan bahwa pencarian berhasil. Nilai FAIL menunjukkan bahwa pencarian gagal. Dalam hal ini, lakukan pemecahan masalah berdasarkan kode kesalahan.

request_id

string

ID permintaan, yang digunakan untuk pemecahan masalah.

result

string

Hasil yang dikembalikan, yang mencakup parameter searchtime, total, num, viewtotal, items, facet, dan scroll_id.

errors

string

Informasi kesalahan, di mana parameter error_message menunjukkan pesan kesalahan. Untuk informasi lebih lanjut tentang kode kesalahan, lihat Kode kesalahan.

Catatan

Hasil pengembalian dari pencarian gulir hanya mendukung format fullJSON dan JSON.

Pencarian gulir sampel

Catatan

Saat Anda menjalankan pencarian gulir, parameter start yang Anda tentukan dalam klausa config tidak berpengaruh. Anda dapat menggunakan parameter hit dalam klausa config untuk menentukan jumlah dokumen yang akan dikembalikan untuk setiap eksekusi. Pencarian gulir tidak mendukung klausa aggregate, distinct, dan rank. Pencarian gulir mendukung pengurutan berdasarkan satu bidang bertipe INT. Pencarian gulir lintas aplikasi tidak didukung. Jika nilai parameter scroll_id dalam permintaan tidak valid, akan terjadi kesalahan. Hasil yang dikembalikan dari pencarian gulir hanya mendukung format fullJSON dan JSON. Saat Anda menjalankan pencarian gulir untuk pertama kalinya, hanya ID gulir yang dikembalikan. Untuk mendapatkan data dokumen, gunakan ID ini untuk menjalankan pencarian gulir kembali.

Permintaan Pertama

Catatan

Contoh permintaan API menghilangkan informasi seperti parameter dalam header permintaan dan metode pengkodean.

http://$host/v3/openapi/apps/app_schema_demo/search?query=config=start:0,hit:1,format:fulljson,rerank_size:200&&query=name:'Search'&&sort=+ id&&filter=id>0&search_type=scan&scroll=1m&fetch_fields=id;name;phone;int_arr;literal_arr;float_arr;cate_id

Respon Sukses

{
  "status": "OK",
  "request_id": "150150574119953661605242",
  "result": {
    "searchtime": 0.005029,
    "total": 1,
    "num": 0,
    "viewtotal": 1,
    "scroll_id": "eJxtUMtuhDAM/BrvOYQC5cABdulvRFFIirsm2TpBavv1Ndut1EMlS36NZ0Y2ZHMxbueceAjIuWCMnrPjRITLyfzZm83y9V QVGT8x80U3PxQNUqieVZV1/an4ItbTUBPSx5wgXqKdvOSbmuKR8ZYjGWWirB4tvToAiX7u3G2eCNK77vnz8GlGPAV6suKBeqxAn0OiTd7NGEnesspyoyFLF6hecn4JUKjVgp0K3FnkfMfIyPoDuYWegX9GeYOpicY9TG8gwOSuBL04X1 MMg3ROwCesLlG6X7a2o=",
    "items": [],
    "facet": []
  },
  "errors": [],
  "tracer": ""
}

Permintaan Berikutnya

Catatan

Contoh permintaan API menghilangkan informasi seperti parameter dalam header permintaan dan metode pengkodean.

http://$host/v3/openapi/apps/app_schema_demo/search?fetch_fields=id;name;phone;int_arr;literal_arr;float_arr;cate_id&query=config=start:0,hit:1,format:fulljson,rerank_size:200&&query=name:'search'&&sort=+id&&filter=id>0&scroll=1m&scroll_id=eJxtUMtuhDAM/BrvOYQC5cABdulvRFFIirsm2TpBavv1Ndut1EMlS36NZ0Y2ZHMxbueceAjIuWCMnrPjRITLyfzZm83y9V+QVGT8x80U3PxQNUqieVZV1/an4ItbTUBPSx5wgXqKdvOSbmuKR8ZYjGWWirB4tvToAiX7u3G2eCNK77vnz8GlGPAV6suKBeqxAn0OiTd7NGEnesspyoyFLF6hecn4JUKjVgp0K3FnkfMfIyPoDuYWegX9GeYOpicY9TG8gwOSuBL04X1+MMg3ROwCesLlG6X7a2o=

Respons

{
  "status": "OK",
  "request_id": "150150574119952551519970",
  "result": {
    "searchtime": 0.006293,
    "total": 1,
    "num": 1,
    "viewtotal": 1,
    "scroll_id": "eJxNT9tugzAM/RrznIRC4YEHaNlvRFFIhteQtE6Qtn39TNdJk2z5dnx8rIPJRdudcqKhl60Uir2Vp06ISv8b6s3QbZCVzpaCdp93XXBzg2wEW9MJ2dWq8q7YVXt0YckDLlBP0WyOw31N8YgYizZEnAUsjkx4VT4k8zexpjiNS/XYHX0NNkWP71BfVyxQjxLUxSfazFH4PYSPnCL3iMniDZq3jN98aFRCgGrZniy8/itkBHWGuYVeQH+B+QzTCUZ1NJ9gj4FVMfrQPr8Y+Hk+dgU14fIDVhtfTw==",
    "items": [
      {
        "fields": {
          "cate_id": "0",
          "float_arr": "0",
          "id": "1",
          "int_arr": "0",
          "literal_arr": "Search",
          "name": "Search",
          "phone": "13900001111",
          "index_name": "app_schema_demo"
        },
        "property": {},
        "attribute": {},
        "variableValue": {},
        "sortExprValues": [
          "1"
        ]
      }
    ],
    "facet": []
  },
  "errors": [],
  "tracer": ""
}