- Permintaan HTTP
- Isi permintaan
- Isi respons
- Cakupan otorisasi
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- Cuplikan
- MatchRange
- Metadata
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- SpellResult.SuggestionType
- SafeHtmlProto
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- Cobalah!
Cloud Search Query API menyediakan metode penelusuran, yang menampilkan hasil paling relevan dari kueri pengguna. Hasilnya 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 melakukan permintaan API kueri secara langsung; untuk menggunakan akun layanan dalam melakukan kueri, siapkan delegasi otoritas seluruh domain Google Workspace.
Permintaan HTTP
POST https://cloudsearch.googleapis.com/v1/query/search
URL ini 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 Mempersempit penelusuran 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 jika hasil di luar 2.000 diminta. |
start |
Indeks awal hasil. |
dataSourceRestrictions[] |
Sumber yang akan digunakan untuk membuat kueri. Jika tidak ditentukan, semua sumber data dari aplikasi penelusuran saat ini akan digunakan. |
facetOptions[] |
|
sortOptions |
Opsi untuk mengurutkan hasil penelusuran |
queryInterpretationOptions |
opsi untuk menginterpretasikan kueri pengguna. |
contextAttributes[] |
Atribut konteks untuk permintaan yang akan digunakan untuk menyesuaikan peringkat hasil penelusuran. Jumlah maksimum elemen adalah 10. |
Isi respons
Respons API penelusuran. ID BERIKUTNYA: 19
Jika berhasil, isi respons memuat data dengan struktur berikut:
| Representasi JSON |
|---|
{ "queryInterpretation": { object ( |
| Kolom | |
|---|---|
queryInterpretation |
hasil interpretasi kueri untuk kueri pengguna. Kosong jika interpretasi kueri dinonaktifkan. |
results[] |
Hasil dari kueri penelusuran. |
structuredResults[] |
Hasil terstruktur untuk kueri pengguna. Hasil ini tidak dihitung terhadap pageSize. |
spellResults[] |
Ejaan yang disarankan untuk kueri. |
facetResults[] |
Hasil faset berulang. |
hasMoreResults |
Apakah ada hasil penelusuran lainnya yang cocok dengan kueri. |
debugInfo |
Informasi proses debug tentang respons. |
errorInfo |
Informasi error tentang respons. |
resultCounts |
Informasi jumlah hasil yang diluaskan. |
Kolom union
Dalam kasus yang jarang terjadi ketika 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.queryhttps://www.googleapis.com/auth/cloud_search
Untuk mengetahui informasi selengkapnya, lihat Panduan otorisasi.
QueryInterpretationOptions
opsi untuk menginterpretasikan kueri pengguna.
| Representasi JSON |
|---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
| Kolom | |
|---|---|
disableNlInterpretation |
Flag untuk menonaktifkan interpretasi bahasa alami (NL) kueri. Defaultnya adalah false. Setel ke true untuk menonaktifkan interpretasi bahasa alami. Interpretasi NL hanya berlaku untuk sumber data standar. |
enableVerbatimMode |
Aktifkan tanda ini untuk menonaktifkan semua pengoptimalan internal seperti interpretasi kueri dalam bahasa alami (NL), pengambilan hasil tambahan, dan penggunaan sinonim termasuk yang kustom. Interpretasi NL akan dinonaktifkan jika salah satu dari dua tanda benar. |
disableSupplementalResults |
Gunakan tanda ini untuk menonaktifkan hasil tambahan untuk kueri. Setelan hasil tambahan yang dipilih di tingkat SearchApplication akan diprioritaskan jika disetel ke True. |
QueryInterpretation
| Representasi JSON |
|---|
{ "interpretedQuery": string, "interpretationType": enum ( |
| Kolom | |
|---|---|
interpretedQuery |
Interpretasi kueri yang digunakan dalam penelusuran. Misalnya, kueri dengan maksud bahasa alami seperti "email dari johan" akan ditafsirkan sebagai "from:johan source:mail". Kolom ini tidak akan diisi jika alasannya adalah NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. |
interpretationType |
|
reason |
Alasan interpretasi kueri. Kolom ini tidak akan UNSPECIFIED jika jenis interpretasi bukan NONE. |
interpretedQueryActualResultCount |
Jumlah sebenarnya hasil yang ditampilkan oleh kueri yang diinterpretasikan. |
interpretedQueryEstimatedResultCount |
Perkiraan jumlah hasil yang ditampilkan oleh kueri yang diinterpretasikan. |
QueryInterpretation.InterpretationType
| Enum | |
|---|---|
NONE |
Interpretasi bahasa alami, maupun versi kueri yang lebih luas tidak digunakan untuk mengambil hasil penelusuran. |
BLEND |
Hasil dari kueri asli digabungkan dengan hasil lainnya. Alasan penggabungan hasil lain ini dengan hasil dari kueri asli diisi di kolom 'reason' di bawah. |
REPLACE |
Hasil dari kueri asli diganti. Alasan penggantian hasil dari kueri asli diisi di kolom 'reason' di bawah. |
QueryInterpretation.Reason
| Enum | |
|---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
Interpretasi bahasa alami dari kueri digunakan untuk mengambil hasil penelusuran. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
Kemiripan istilah kueri dan dokumen digunakan untuk memperluas kueri secara selektif guna mengambil hasil penelusuran tambahan karena hasil yang cukup tidak ditemukan untuk kueri pengguna. Kueri yang ditafsirkan akan kosong untuk kasus ini. |
SearchResult
Hasil yang berisi informasi terindeks untuk dokumen. ID Berikutnya: 16
| 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 |
Penggabungan 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 berkluster. Jika sumber saat ini tidak diaktifkan untuk pengelompokan, kolom ini akan kosong. |
debugInfo |
Informasi proses debug tentang hasil penelusuran ini. |
Cuplikan
Cuplikan hasil penelusuran, yang merangkum konten halaman yang dihasilkan.
| Representasi JSON |
|---|
{
"snippet": string,
"matchRanges": [
{
object ( |
| Kolom | |
|---|---|
snippet |
Cuplikan dokumen. Dapat berisi karakter HTML yang di-escape yang harus di-unescape sebelum dirender. |
matchRanges[] |
Rentang yang cocok dalam cuplikan. |
MatchRange
Rentang cuplikan yang cocok [start, end).
| Representasi JSON |
|---|
{ "start": integer, "end": integer } |
| Kolom | |
|---|---|
start |
Posisi awal kecocokan dalam cuplikan. |
end |
Akhir pertandingan dalam cuplikan. |
Metadata
metadata hasil penelusuran yang cocok.
| Representasi JSON |
|---|
{ "source": { object ( |
| Kolom | |
|---|---|
source |
Sumber bernama 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 dokumen atau objek ini dalam hasil penelusuran. Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
updateTime |
Tanggal terakhir diubah untuk objek dalam hasil penelusuran. Jika tidak ditetapkan dalam item, nilai yang ditampilkan di sini kosong. Jika Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
fields[] |
Kolom yang diindeks 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 baris meta yang akan ditampilkan dengan hasil. |
ResultDisplayMetadata.ResultDisplayLine
Kumpulan kolom yang membentuk baris 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. |
ResultDebugInfo
Informasi proses debug tentang hasil.
| Representasi JSON |
|---|
{ "formattedDebugInfo": string } |
| Kolom | |
|---|---|
formattedDebugInfo |
Info debug umum yang diformat untuk ditampilkan. |
StructuredResult
Hasil terstruktur yang ditampilkan sebagai bagian dari permintaan penelusuran.
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union
|
|
person |
Representasi seseorang |
SpellResult
| Representasi JSON |
|---|
{ "suggestedQuery": string, "suggestionType": enum ( |
| Kolom | |
|---|---|
suggestedQuery |
Ejaan kueri yang disarankan. |
suggestionType |
saran dipicu untuk kueri saat ini. |
suggestedQueryHtml |
HTML yang sudah dibersihkan yang merepresentasikan kueri yang ejaannya dikoreksi yang dapat digunakan di UI. Biasanya memiliki tag khusus bahasa untuk menandai bagian kueri yang diperiksa ejaannya. |
SpellResult.SuggestionType
Jenis saran yang dipicu untuk kueri.
| Enum | |
|---|---|
SUGGESTION_TYPE_UNSPECIFIED |
Jenis pemeriksaan ejaan default |
NON_EMPTY_RESULTS_SPELL_SUGGESTION |
Saran ejaan tanpa hasil apa pun diubah. Hasil tetap ditampilkan untuk kueri asli (yang memiliki hasil / non-nol) dengan saran ejaan yang akan menghasilkan hasil. |
ZERO_RESULTS_FULL_PAGE_REPLACEMENT |
Saran ejaan dipicu saat kueri asli tidak memiliki hasil. Jika kueri asli tidak memiliki hasil, dan saran ejaan memiliki hasil, kami akan memicu hasil untuk kueri yang telah dikoreksi ejaannya. |
SafeHtmlProto
PENTING: Menerima pesan ini dari sumber yang tidak tepercaya tidak aman, karena penyerang dapat dengan mudah memalsukan pesan berserial yang tidak memenuhi kontrak keamanan jenis -- misalnya, pesan tersebut dapat berisi skrip yang dikontrol penyerang. Sistem yang menerima SafeHtmlProto secara implisit memercayai produsen SafeHtmlProto. Jadi, umumnya aman untuk menampilkan pesan ini dalam respons RPC, tetapi umumnya tidak aman untuk menerimanya dalam permintaan RPC.
| Representasi JSON |
|---|
{ "privateDoNotAccessOrElseSafeHtmlWrappedValue": string } |
| Kolom | |
|---|---|
privateDoNotAccessOrElseSafeHtmlWrappedValue |
PENTING: Jangan pernah menyetel atau membaca kolom ini, bahkan dari pengujian, karena bersifat pribadi. Lihat dokumentasi di bagian atas file .proto untuk mengetahui paket bahasa pemrograman yang digunakan untuk membuat atau membaca pesan ini. |
FacetResult
Respons aspek khusus sumber
| Representasi JSON |
|---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
| Kolom | |
|---|---|
sourceName |
Nama sumber yang hasil facetnya ditampilkan. Tidak akan kosong. |
objectType |
Jenis objek yang hasil fasetnya ditampilkan. Boleh kosong. |
operatorName |
Nama operator yang dipilih untuk pengelompokan. @see cloudsearch.SchemaPropertyOptions |
buckets[] |
FacetBuckets untuk nilai dalam respons yang berisi setidaknya satu hasil dengan filter yang sesuai. |
FacetBucket
Bucket dalam aspek adalah unit dasar operasi. Kelompok dapat terdiri dari satu nilai 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 ditampilkan untuk penelusuran jika akurasi jumlah dipastikan. Cloud Search tidak menjamin jumlah aspek untuk kueri apa pun dan jumlah aspek mungkin hanya muncul sesekali, bahkan untuk kueri yang identik. Jangan membangun dependensi pada keberadaan jumlah aspek; sebagai gantinya, gunakan persentase jumlah aspek yang selalu ditampilkan. |
percentage |
Persen hasil yang cocok dengan nilai bucket. Nilai yang ditampilkan adalah antara (0-100], dan dibulatkan ke bawah menjadi bilangan bulat jika berupa pecahan. Jika nilai tidak ditampilkan secara eksplisit, nilai tersebut mewakili nilai persentase yang dibulatkan menjadi 0. Persentase ditampilkan untuk semua penelusuran, tetapi 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. |
Kolom union bucket_value. Rentang atau nilai bucket yang difasetkan bucket_value hanya dapat berupa salah satu dari berikut: |
|
value |
|
ResponseDebugInfo
Informasi proses debug tentang respons.
| Representasi JSON |
|---|
{ "formattedDebugInfo": string } |
| Kolom | |
|---|---|
formattedDebugInfo |
Info debug umum yang diformat untuk ditampilkan. |
ErrorInfo
Informasi error tentang respons.
| Representasi JSON |
|---|
{
"errorMessages": [
{
object ( |
| Kolom | |
|---|---|
errorMessages[] |
|
ErrorMessage
Pesan error per respons sumber.
| Representasi JSON |
|---|
{
"source": {
object ( |
| Kolom | |
|---|---|
source |
|
errorMessage |
|
ResultCounts
Informasi jumlah hasil
| Representasi JSON |
|---|
{
"sourceResultCounts": [
{
object ( |
| Kolom | |
|---|---|
sourceResultCounts[] |
Informasi jumlah hasil untuk setiap sumber dengan hasil. |
SourceResultCount
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. |