- Permintaan HTTP
- Isi permintaan
- Isi respons
- Cakupan Otorisasi
- QueryInterpretationOptions
- Interpretasi Kueri
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- Hasil Penelusuran
- Cuplikan
- MatchRange
- Metadata
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- Ejaan Hasil
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- Cobalah
Cloud Search Query API menyediakan metode penelusuran, yang menampilkan hasil paling relevan dari kueri pengguna. Hasil penelusuran dapat berasal dari aplikasi Google Workspace, seperti Gmail atau Google Drive, atau dapat berasal dari data yang telah Anda indeks dari pihak ketiga.
Catatan: API ini memerlukan akun pengguna akhir standar untuk dieksekusi. Akun layanan tidak dapat menjalankan permintaan Query API secara langsung; untuk menggunakan akun layanan agar dapat menjalankan kueri, siapkan delegasi otoritas seluruh domain Google Workspace.
Permintaan HTTP
POST https://cloudsearch.googleapis.com/v1/query/search
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
Representasi JSON |
---|
{ "requestOptions": { object ( |
Kolom | |
---|---|
requestOptions |
Opsi permintaan, seperti aplikasi penelusuran dan zona waktu pengguna. |
query |
String kueri mentah. Lihat operator penelusuran yang didukung di bagian Persempit penelusuran Anda dengan operator |
pageSize |
Jumlah maksimum hasil penelusuran yang akan ditampilkan dalam satu halaman. Nilai yang valid adalah antara 1 dan 100, inklusif. Nilai defaultnya adalah 10. Nilai minimum adalah 50 ketika hasil yang melebihi 2000 diminta. |
start |
Memulai indeks hasil. |
dataSourceRestrictions[] |
Sumber yang akan digunakan untuk kueri. Jika tidak ditentukan, semua sumber data dari aplikasi penelusuran saat ini akan digunakan. |
facetOptions[] |
|
sortOptions |
Opsi untuk mengurutkan hasil penelusuran |
queryInterpretationOptions |
untuk menafsirkan kueri pengguna. |
contextAttributes[] |
Atribut konteks untuk permintaan yang akan digunakan untuk menyesuaikan peringkat hasil penelusuran. Jumlah elemen maksimum adalah 10. |
Isi respons
Jika berhasil, isi respons memuat data dengan struktur berikut:
Respons API penelusuran.
Representasi JSON |
---|
{ "queryInterpretation": { object ( |
Kolom | |
---|---|
queryInterpretation |
Hasil interpretasi kueri untuk kueri pengguna. Kosong jika penafsiran kueri dinonaktifkan. |
results[] |
Hasil dari kueri penelusuran. |
structuredResults[] |
Hasil terstruktur untuk kueri pengguna. Hasil ini tidak dihitung untuk pageSize. |
spellResults[] |
Saran ejaan untuk kueri. |
facetResults[] |
Hasil faset berulang. |
hasMoreResults |
Apakah ada hasil penelusuran lain yang cocok dengan kueri. |
debugInfo |
Men-debug informasi tentang respons. |
errorInfo |
Informasi error tentang respons. |
resultCounts |
Informasi jumlah hasil yang diperluas. |
Kolom union
Dalam kasus yang jarang terjadi, saat sistem tidak dapat menelusuri semua dokumen, jalankan kembali kueri. |
|
resultCountEstimate |
Perkiraan jumlah hasil untuk kueri ini. |
resultCountExact |
Jumlah hasil yang tepat untuk kueri ini. |
Cakupan Otorisasi
Memerlukan salah satu cakupan OAuth berikut:
https://www.googleapis.com/auth/cloud_search.query
https://www.googleapis.com/auth/cloud_search
Untuk informasi selengkapnya, lihat Ringkasan OAuth 2.0.
QueryInterpretationOptions
untuk menafsirkan kueri pengguna.
Representasi JSON |
---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
Kolom | |
---|---|
disableNlInterpretation |
Tanda untuk menonaktifkan interpretasi natural language (NL) dari kueri. Defaultnya adalah false, Tetapkan ke true untuk menonaktifkan penafsiran bahasa alami. Interpretasi NL hanya berlaku untuk sumber data standar. |
enableVerbatimMode |
Aktifkan tanda ini untuk menonaktifkan semua pengoptimalan internal seperti interpretasi bahasa natural (NL) dari kueri, pengambilan hasil tambahan, dan penggunaan sinonim termasuk yang khusus. Penafsiran Nl akan dinonaktifkan jika salah satu dari kedua tanda adalah benar. |
disableSupplementalResults |
Gunakan tanda ini guna menonaktifkan hasil tambahan untuk kueri. Setelan hasil tambahan yang dipilih di tingkat SearchApplication akan diprioritaskan jika disetel ke Benar (True). |
Penafsiran Kueri
Representasi JSON |
---|
{ "interpretedQuery": string, "interpretationType": enum ( |
Kolom | |
---|---|
interpretedQuery |
Penafsiran kueri yang digunakan dalam penelusuran. Misalnya, kueri dengan intent bahasa alami seperti "email dari john" akan ditafsirkan sebagai "from:john source:mail". Kolom ini tidak akan diisi jika alasannya NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. |
interpretationType |
|
reason |
Alasan penafsiran kueri. Kolom ini tidak akan DITENTUKAN jika jenis penafsiran TIDAK ADA. |
QueryInterpretation.InterpretationType
Enumerasi | |
---|---|
NONE |
Penafsiran bahasa alami atau versi kueri yang lebih luas tidak digunakan untuk mengambil hasil penelusuran. |
BLEND |
Hasil dari kueri asli digabungkan dengan hasil lainnya. Alasan untuk menggabungkan hasil lain tersebut dengan hasil dari kueri asli akan diisi di kolom 'Alasan' di bawah. |
REPLACE |
Hasil dari kueri asli akan diganti. Alasan penggantian hasil dari kueri asli diisi dalam kolom 'Alasan' di bawah. |
QueryInterpretation.Reason
Enumerasi | |
---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
Penafsiran bahasa alami kueri digunakan untuk mengambil hasil penelusuran. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
Kemiripan istilah dokumen dan kueri digunakan untuk memperluas kueri secara selektif guna mengambil hasil penelusuran tambahan karena hasil yang ditemukan untuk kueri pengguna tidak ditemukan. Kueri yang diinterpretasikan akan kosong untuk kasus ini. |
Hasil Penelusuran
Hasil yang berisi informasi terindeks untuk dokumen.
Representasi JSON |
---|
{ "title": string, "url": string, "snippet": { object ( |
Kolom | |
---|---|
title |
Judul hasil penelusuran. |
url |
URL hasil penelusuran. URL berisi pengalihan Google ke item sebenarnya. URL ini ditandatangani dan tidak boleh diubah. |
snippet |
Penyambungan semua cuplikan (ringkasan) yang tersedia untuk hasil ini. |
metadata |
metadata hasil penelusuran. |
clusteredResults[] |
Jika sumber dikelompokkan, berikan daftar hasil yang dikelompokkan. Hanya akan ada satu tingkat hasil yang dikelompokkan. Jika sumber saat ini tidak diaktifkan untuk pengelompokan, kolom ini akan kosong. |
debugInfo |
Men-debug informasi tentang hasil penelusuran ini. |
Snippet
Cuplikan hasil penelusuran, yang merangkum konten halaman yang dihasilkan.
Representasi JSON |
---|
{
"snippet": string,
"matchRanges": [
{
object ( |
Kolom | |
---|---|
snippet |
Cuplikan dokumen. Cuplikan dokumen. Dapat berisi karakter HTML yang di-escape yang harus di-escape sebelum melakukan rendering. |
matchRanges[] |
Rentang yang cocok dalam cuplikan. |
PencocokanRentang
Rentang yang cocok dari cuplikan [awal, akhir).
Representasi JSON |
---|
{ "start": integer, "end": integer } |
Kolom | |
---|---|
start |
Posisi awal kecocokan dalam cuplikan. |
end |
Akhir kecocokan dalam cuplikan. |
Metadata
metadata hasil penelusuran yang cocok.
Representasi JSON |
---|
{ "source": { object ( |
Kolom | |
---|---|
source |
Sumber yang dinamai untuk hasil, seperti Gmail. |
mimeType |
Jenis mime hasil penelusuran. |
thumbnailUrl |
URL thumbnail hasil. |
owner |
pemilik (biasanya pembuat) dokumen atau objek hasil penelusuran. |
createTime |
Waktu pembuatan untuk dokumen atau objek ini dalam hasil penelusuran. Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: |
updateTime |
Tanggal terakhir diubah untuk objek di hasil penelusuran. Jika tidak disetel di item, nilai yang ditampilkan di sini kosong. Jika Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: |
fields[] |
Kolom terindeks dalam data terstruktur, ditampilkan sebagai properti bernama generik. |
displayOptions |
opsi yang menentukan cara menampilkan hasil penelusuran data terstruktur. |
objectType |
Jenis objek hasil penelusuran. |
ResultDisplayMetadata
Representasi JSON |
---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
Kolom | |
---|---|
objectTypeLabel |
Label tampilan untuk objek. |
metalines[] |
Konten metaline akan ditampilkan dengan hasil. |
ResultDisplayMetadata.ResultDisplayLine
Kumpulan kolom yang membentuk garis yang ditampilkan
Representasi JSON |
---|
{
"fields": [
{
object ( |
Kolom | |
---|---|
fields[] |
ResultDisplayMetadata.ResultDisplayField
Menampilkan Kolom untuk Hasil query.search
Representasi JSON |
---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
Kolom | |
---|---|
label |
Label tampilan untuk properti. |
operatorName |
Nama operator properti. |
property |
Pasangan nilai nama untuk properti. |
InfoDebugHasil
Men-debug informasi tentang hasil.
Representasi JSON |
---|
{ "formattedDebugInfo": string } |
Kolom | |
---|---|
formattedDebugInfo |
Info debug umum diformat untuk ditampilkan. |
Hasil Terstruktur
Hasil terstruktur yang ditampilkan sebagai bagian dari permintaan penelusuran.
Representasi JSON |
---|
{
"person": {
object ( |
Kolom | |
---|---|
person |
Representasi seseorang |
Hasil Ejaan
Representasi JSON |
---|
{ "suggestedQuery": string } |
Kolom | |
---|---|
suggestedQuery |
Ejaan kueri yang disarankan. |
Hasil Facet
Respons faset khusus sumber
Representasi JSON |
---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
Kolom | |
---|---|
sourceName |
Nama sumber yang hasil fasetnya ditampilkan. Tidak akan kosong. |
objectType |
Jenis objek yang hasil fasetnya ditampilkan. Harus kosong. |
operatorName |
Nama operator yang dipilih untuk faset. @lihat cloudsearch.SchemaPropertyOptions |
buckets[] |
FacetBucket untuk nilai sebagai respons yang berisi setidaknya satu hasil dengan filter yang sesuai. |
Bucket FacetBucket
Bucket dalam faset adalah unit operasi dasar. Bucket dapat terdiri dari nilai tunggal ATAU rentang nilai yang berdekatan, bergantung pada jenis kolom yang dikelompokkan. FacetBucket saat ini hanya digunakan untuk menampilkan objek respons.
Representasi JSON |
---|
{ "count": integer, "percentage": integer, "filter": { object ( |
Kolom | |
---|---|
count |
Jumlah hasil yang cocok dengan nilai bucket. Jumlah hanya dikembalikan untuk penelusuran jika akurasi jumlah dipastikan. Cloud Search tidak menjamin jumlah faset untuk setiap kueri dan jumlah faset mungkin hanya ada sesekali, bahkan untuk kueri yang identik. Jangan mem-build dependensi pada keberadaan jumlah faset; sebagai gantinya, gunakan persentase facet ount yang selalu ditampilkan. |
percentage |
Persentase hasil yang cocok dengan nilai bucket. Nilai yang ditampilkan adalah antara (0-100], dan dibulatkan ke bawah menjadi bilangan bulat jika pecahan. Jika nilai tidak ditampilkan secara eksplisit, nilai tersebut mewakili nilai persentase yang dibulatkan ke 0. Persentase ditampilkan untuk semua penelusuran, namun merupakan perkiraan. Karena persentase selalu ditampilkan, Anda harus merender persentase, bukan jumlah. |
filter |
Filter yang akan diteruskan dalam permintaan penelusuran jika bucket yang sesuai dipilih. |
value |
|
ResponsDebugInfo
Men-debug informasi tentang respons.
Representasi JSON |
---|
{ "formattedDebugInfo": string } |
Kolom | |
---|---|
formattedDebugInfo |
Info debug umum diformat untuk ditampilkan. |
InfoError
Informasi error tentang respons.
Representasi JSON |
---|
{
"errorMessages": [
{
object ( |
Kolom | |
---|---|
errorMessages[] |
|
PesanError
Pesan error per respons sumber.
Representasi JSON |
---|
{
"source": {
object ( |
Kolom | |
---|---|
source |
|
errorMessage |
|
JumlahHasil
Informasi jumlah hasil
Representasi JSON |
---|
{
"sourceResultCounts": [
{
object ( |
Kolom | |
---|---|
sourceResultCounts[] |
Informasi jumlah hasil untuk setiap sumber dengan hasil. |
JumlahHasilSumber
Informasi jumlah hasil per sumber.
Representasi JSON |
---|
{ "source": { object ( |
Kolom | |
---|---|
source |
Sumber yang terkait dengan informasi jumlah hasil. |
hasMoreResults |
Apakah ada hasil penelusuran lainnya untuk sumber ini. |
Kolom union
|
|
resultCountEstimate |
Estimasi jumlah hasil untuk sumber ini. |
resultCountExact |
Jumlah hasil yang tepat untuk sumber ini. |