- בקשת HTTP
- גוף הבקשה
- גוף התגובה
- היקפי הרשאות
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- קטע קוד
- MatchRange
- מטא-נתונים
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- רוצים לנסות?
Cloud Search Query API מספק את שיטת החיפוש, שמחזירה את התוצאות הרלוונטיות ביותר משאילתת משתמש. התוצאות יכולות להגיע מאפליקציות של Google Workspace, כמו Gmail או Google Drive, או מנתונים שנוספו לאינדקס מצד שלישי.
הערה: כדי להפעיל את ה-API הזה, נדרש חשבון משתמש קצה רגיל. חשבון שירות לא יכול לבצע בקשות Query API ישירות. כדי להשתמש בחשבון שירות לביצוע שאילתות, צריך להגדיר הענקת גישה ברמת הדומיין ב-Google Workspace.
בקשת HTTP
POST https://cloudsearch.googleapis.com/v1/query/search
כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
ייצוג ב-JSON |
---|
{ "requestOptions": { object ( |
שדות | |
---|---|
requestOptions |
אפשרויות בקשה, כמו אפליקציית החיפוש ואזור הזמן של המשתמש. |
query |
מחרוזת השאילתה הגולמית. מיקוד החיפוש באמצעות אופרטורים |
pageSize |
המספר המקסימלי של תוצאות חיפוש שיוצגו בדף אחד. הערכים החוקיים הם בין 1 ל-100, כולל. ערך ברירת המחדל הוא 10. הערך המינימלי הוא 50 כשמבקשים תוצאות מעבר ל-2,000. |
start |
אינדקס ההתחלה של התוצאות. |
dataSourceRestrictions[] |
המקורות שבהם נעשה שימוש לשליחת שאילתות. אם לא מציינים את המאפיין, המערכת משתמשת בכל מקורות הנתונים מאפליקציית החיפוש הנוכחית. |
facetOptions[] |
|
sortOptions |
האפשרויות למיון תוצאות החיפוש |
queryInterpretationOptions |
אפשרויות לפרש את שאילתת המשתמש. |
contextAttributes[] |
מאפייני ההקשר של הבקשה, שישמשו לשינוי הדירוג של תוצאות החיפוש. המספר המקסימלי של רכיבים הוא 10. |
גוף התשובה
אם הפעולה מצליחה, גוף התגובה מכיל נתונים במבנה הבא:
התשובה של Search API.
ייצוג ב-JSON |
---|
{ "queryInterpretation": { object ( |
שדות | |
---|---|
queryInterpretation |
תוצאת הפרשנות של שאילתת המשתמש. השדה נשאר ריק אם הפרשנות של השאילתות מושבתת. |
results[] |
תוצאות משאילתת חיפוש. |
structuredResults[] |
תוצאות מובנות לשאילתת המשתמש. התוצאות האלה לא נספרות במסגרת pageSize. |
spellResults[] |
הצעת איות לשאילתה. |
facetResults[] |
תוצאות של מאפיינים חוזרים. |
hasMoreResults |
אם יש תוצאות חיפוש נוספות שתואמות לשאילתה. |
debugInfo |
מידע על ניפוי באגים בתגובה. |
errorInfo |
פרטי השגיאה בתגובה. |
resultCounts |
מידע מורחב על מספר התוצאות. |
שדה האיחוד
במקרים נדירים שבהם המערכת לא מצליחה לחפש בכל המסמכים, צריך להריץ מחדש את השאילתה. הערך של |
|
resultCountEstimate |
מספר התוצאות המשוער של השאילתה הזו. |
resultCountExact |
מספר התוצאות המדויק של השאילתה הזו. |
היקפי הרשאה
נדרש אחד מהיקפי ההרשאות הבאים של OAuth:
https://www.googleapis.com/auth/cloud_search.query
https://www.googleapis.com/auth/cloud_search
מידע נוסף זמין במדריך ההרשאות.
QueryInterpretationOptions
אפשרויות לפרש את השאילתה של המשתמש.
ייצוג ב-JSON |
---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
שדות | |
---|---|
disableNlInterpretation |
דגל להשבתת הפרשנות של שאילתות בשפה טבעית (NL). ברירת המחדל היא false. כדי להשבית את הפרשנות של שפה טבעית, מגדירים את הערך ל-true. הפרשנות של NL חלה רק על מקורות נתונים מוגדרים מראש. |
enableVerbatimMode |
הפעלת הדגל הזה משביתה את כל האופטימיזציות הפנימיות, כמו פרשנות של שאילתות בשפה טבעית (NL), אחזור של תוצאות משלימות ושימוש במילים נרדפות, כולל מילים נרדפות בהתאמה אישית. הפרשנות של Nl תושבת אם אחד משני הדגלים יהיה True. |
disableSupplementalResults |
משתמשים בדגל הזה כדי להשבית תוצאות משלימות לשאילתה. אם ההגדרה של תוצאות משלימות תהיה True, היא תקבל עדיפות על פני ההגדרה שנבחרה ברמת SearchApplication. |
QueryInterpretation
ייצוג ב-JSON |
---|
{ "interpretedQuery": string, "interpretationType": enum ( |
שדות | |
---|---|
interpretedQuery |
הפרשנות של השאילתה ששימשה בחיפוש. לדוגמה, שאילתות עם כוונת חיפוש בשפה טבעית כמו 'אימייל מ-John' יפורשו כ-'from:john source:mail'. השדה הזה לא יאוכלס אם הסיבה היא NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. |
interpretationType |
|
reason |
הסיבה לפרשנות של השאילתה. השדה הזה לא יהיה UNSPECIFIED אם סוג הפרשנות לא יהיה NONE. |
QueryInterpretation.InterpretationType
טיפוסים בני מנייה (enum) | |
---|---|
NONE |
לא הפרשנות של השפה הטבעית ולא גרסה רחבה יותר של השאילתה משמשות לאחזור תוצאות החיפוש. |
BLEND |
התוצאות מהשאילתה המקורית מעורבבות עם תוצאות אחרות. הסיבה למיזוג של התוצאות האלה עם התוצאות מהשאילתה המקורית תופיע בשדה 'סיבה' שבהמשך. |
REPLACE |
התוצאות מהשאילתה המקורית מוחלפות. הסיבה להחלפת התוצאות מהשאילתה המקורית תופיע בשדה 'סיבה' שבהמשך. |
QueryInterpretation.Reason
טיפוסים בני מנייה (enum) | |
---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
כדי לאחזר את תוצאות החיפוש, השאילתה מפורשת בשפה טבעית. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
הדמיון בין מונחי השאילתה לבין מונחי המסמך משמש להרחבת השאילתה באופן סלקטיבי כדי לאחזר תוצאות חיפוש נוספות, כי לא נמצאו מספיק תוצאות לשאילתת המשתמש. השאילתה המפורשת תהיה ריקה במקרה הזה. |
SearchResult
תוצאות שמכילות מידע שמפורט באינדקס של מסמך.
ייצוג ב-JSON |
---|
{ "title": string, "url": string, "snippet": { object ( |
שדות | |
---|---|
title |
הכותרת של תוצאת החיפוש. |
url |
כתובת ה-URL של תוצאת החיפוש. כתובת ה-URL מכילה הפניה אוטומטית של Google לפריט בפועל. כתובת ה-URL הזו חתומה ואין לשנות אותה. |
snippet |
שרשור של כל קטעי הקוד (סיכומים) שזמינים לתוצאה הזו. |
metadata |
המטא-נתונים של תוצאת החיפוש. |
clusteredResults[] |
אם המקור מקובץ באשכולות, יש לספק רשימה של תוצאות מקובצות. תהיה רק רמה אחת של תוצאות מקובצות. אם המקור הנוכחי לא מופעל לצורך קיבוץ, השדה הזה יהיה ריק. |
debugInfo |
מידע על ניפוי באגים לגבי תוצאת החיפוש הזו. |
קטע טקסט
קטע מידע של תוצאת החיפוש, שמסכם את התוכן של הדף שנמצא.
ייצוג ב-JSON |
---|
{
"snippet": string,
"matchRanges": [
{
object ( |
שדות | |
---|---|
snippet |
קטע הטקסט של המסמך. קטע הטקסט של המסמך. יכול להיות שהקוד מכיל תו HTML עם תו בריחה (escape) שצריך לבטל את התו בריחה לפני העיבוד. |
matchRanges[] |
טווחי ההתאמה בקטע הקוד. |
MatchRange
טווח ההתאמה של קטע קוד [התחלה, סיום].
ייצוג ב-JSON |
---|
{ "start": integer, "end": integer } |
שדות | |
---|---|
start |
מיקום ההתחלה של ההתאמה בקטע הקוד. |
end |
סוף ההתאמה בקטע הקוד. |
מטא-נתונים
מטא-נתונים של תוצאת חיפוש תואמת.
ייצוג ב-JSON |
---|
{ "source": { object ( |
שדות | |
---|---|
source |
המקור שצוין לתוצאה, למשל Gmail. |
mimeType |
סוג ה-MIME של תוצאת החיפוש. |
thumbnailUrl |
כתובת ה-URL של התמונה הממוזערת של התוצאה. |
owner |
הבעלים (בדרך כלל היוצר) של המסמך או האובייקט בתוצאת החיפוש. |
createTime |
זמן היצירה של המסמך או האובייקט בתוצאת החיפוש. חותמת זמן בפורמט UTC 'Zulu' של RFC3339, עם רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: |
updateTime |
תאריך השינוי האחרון של האובייקט בתוצאת החיפוש. אם הערך לא מוגדר בפריט, הערך שיוחזר כאן יהיה ריק. כשמשתמשים ב- חותמת זמן בפורמט UTC 'Zulu' של RFC3339, עם רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: |
fields[] |
שדות שנוספו לאינדקס בנתונים מובְנים, שמוחזרים כנכס גנרי בעל שם. |
displayOptions |
אפשרויות שמציינות איך להציג תוצאת חיפוש של נתונים מובְנים. |
objectType |
סוג האובייקט של תוצאת החיפוש. |
ResultDisplayMetadata
ייצוג ב-JSON |
---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
שדות | |
---|---|
objectTypeLabel |
תווית התצוגה של האובייקט. |
metalines[] |
תוכן המטאליינים שיוצג עם התוצאה. |
ResultDisplayMetadata.ResultDisplayLine
האוסף של השדות שמרכיבים שורה מוצגת
ייצוג ב-JSON |
---|
{
"fields": [
{
object ( |
שדות | |
---|---|
fields[] |
ResultDisplayMetadata.ResultDisplayField
שדות תצוגה לתוצאות של query.search
ייצוג ב-JSON |
---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
שדות | |
---|---|
label |
תווית התצוגה של הנכס. |
operatorName |
שם המפעיל של הנכס. |
property |
צמד השם-ערך של המאפיין. |
ResultDebugInfo
מידע על ניפוי הבאגים של התוצאה.
ייצוג ב-JSON |
---|
{ "formattedDebugInfo": string } |
שדות | |
---|---|
formattedDebugInfo |
מידע כללי על ניפוי הבאגים בפורמט להצגה. |
StructuredResult
תוצאות מובנות שמוחזרות כחלק מבקשת חיפוש.
ייצוג ב-JSON |
---|
{
"person": {
object ( |
שדות | |
---|---|
person |
ייצוג של אדם |
SpellResult
ייצוג ב-JSON |
---|
{ "suggestedQuery": string } |
שדות | |
---|---|
suggestedQuery |
הצעת האיות לשאילתה. |
FacetResult
תגובה של פן ספציפי למקור
ייצוג ב-JSON |
---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
שדות | |
---|---|
sourceName |
שם המקור שאליו מוחזר החזרת תוצאות של פנים. השדה לא יהיה ריק. |
objectType |
סוג האובייקט שעבורו מוחזר פלט של תכונות פנים. השדה יכול להיות ריק. |
operatorName |
השם של האופרטור שנבחר ליצירת פנים. @see cloudsearch.SchemaPropertyOptions |
buckets[] |
FacetBuckets לערכים בתגובה שמכילים לפחות תוצאה אחת עם המסנן המתאים. |
FacetBucket
קטגוריה במאפיין היא היחידה הבסיסית של הפעולה. קטגוריה יכולה לכלול ערך יחיד או טווח רציף של ערכים, בהתאם לסוג השדה שמחולק לקטגוריות. בשלב זה, המערכת משתמשת ב-FacetBucket רק כדי להחזיר את אובייקט התגובה.
שדות | |
---|---|
count |
מספר התוצאות שתואמות לערך הקטגוריה. ספירה של חיפושים מוחזרת רק כשיש ודאות לגבי הדיוק של הספירה. מערכת Cloud Search לא מבטיחה ספירת פנים לכל שאילתת חיפוש, ויכול להיות שספירת הפנים תופיע רק לסירוגין, גם בשאילתות זהות. אין ליצור יחסי תלות על סמך קיומו של ספירת פנים. במקום זאת, צריך להשתמש באחוזים של ספירת הפנים, שתמיד מוחזרים. |
percentage |
אחוז התוצאות שתואמות לערך הקטגוריה. הערך המוחזר הוא בין [0-100], והוא מעוגל כלפי מטה למספר שלם אם הוא מכיל שבר. אם הערך לא מוחזר באופן מפורש, הוא מייצג ערך אחוזים שמעוגלים ל-0. אחוזים מוצגים לכל החיפושים, אבל הם משוערים. מאחר שתמיד מוחזרים אחוזים, כדאי להציג אחוזים במקום ספירה. |
filter |
מסנן שיישלח בבקשת החיפוש אם הקטגוריה המתאימה תיבחר. |
value |
|
ResponseDebugInfo
מידע על ניפוי באגים בתגובה.
ייצוג ב-JSON |
---|
{ "formattedDebugInfo": string } |
שדות | |
---|---|
formattedDebugInfo |
מידע כללי על ניפוי הבאגים בפורמט להצגה. |
ErrorInfo
פרטי השגיאה בתגובה.
ייצוג ב-JSON |
---|
{
"errorMessages": [
{
object ( |
שדות | |
---|---|
errorMessages[] |
|
ErrorMessage
הודעת שגיאה לכל תגובה מהמקור.
ייצוג ב-JSON |
---|
{
"source": {
object ( |
שדות | |
---|---|
source |
|
errorMessage |
|
ResultCounts
מידע על מספר התוצאות
ייצוג ב-JSON |
---|
{
"sourceResultCounts": [
{
object ( |
שדות | |
---|---|
sourceResultCounts[] |
מספר התוצאות בכל מקור עם תוצאות. |
SourceResultCount
מידע על מספר התוצאות לכל מקור.
ייצוג ב-JSON |
---|
{ "source": { object ( |
שדות | |
---|---|
source |
המקור שאליו משויך המידע על מספר התוצאות. |
hasMoreResults |
אם יש עוד תוצאות חיפוש עבור המקור הזה. |
שדה האיחוד הערך של |
|
resultCountEstimate |
מספר התוצאות המשוער של המקור הזה. |
resultCountExact |
מספר התוצאות המדויק של המקור הזה. |