- בקשת HTTP
- גוף הבקשה
- גוף התשובה
- היקפי הרשאות
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- Snippet
- MatchRange
- מטא-נתונים
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- SpellResult.SuggestionType
- SafeHtmlProto
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- כדאי לנסות!
ה-API של שאילתות ב-Cloud Search מספק את שיטת החיפוש, שמחזירה את התוצאות הרלוונטיות ביותר משאילתת משתמש. התוצאות יכולות להגיע מאפליקציות של Google Workspace, כמו Gmail או Google Drive, או מנתונים שביצעתם להם אינדקס מצד שלישי.
הערה: כדי להשתמש ב-API הזה, צריך חשבון משתמש קצה רגיל. חשבון שירות לא יכול לבצע בקשות API של שאילתות ישירות. כדי להשתמש בחשבון שירות לביצוע שאילתות, צריך להגדיר הענקת הרשאות גישה ברמת הדומיין ב-Google Workspace.
בקשת HTTP
POST https://cloudsearch.googleapis.com/v1/query/search
כתובת ה-URL כתובה בתחביר של gRPC Transcoding.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
| ייצוג ב-JSON |
|---|
{ "requestOptions": { object ( |
| שדות | |
|---|---|
requestOptions |
אפשרויות בקשה, כמו אפליקציית החיפוש ואזור הזמן של המשתמש. |
query |
מחרוזת השאילתה הגולמית. אפשר לראות את האופרטורים הנתמכים לחיפוש במאמר צמצום החיפוש בעזרת אופרטורים |
pageSize |
מספר תוצאות החיפוש המקסימלי שיוחזר בדף אחד. הערכים התקפים הם בין 1 ל-100, כולל. ערך ברירת המחדל הוא 10. הערך המינימלי הוא 50 כשמבקשים תוצאות מעבר ל-2,000. |
start |
האינדקס ההתחלתי של התוצאות. |
dataSourceRestrictions[] |
המקורות שמשמשים לשאילתות. אם לא מציינים מקורות נתונים, המערכת משתמשת בכל מקורות הנתונים מאפליקציית החיפוש הנוכחית. |
facetOptions[] |
|
sortOptions |
האפשרויות למיון תוצאות החיפוש |
queryInterpretationOptions |
אפשרויות לפרש את שאילתת המשתמש. |
contextAttributes[] |
מאפייני ההקשר של הבקשה שישמשו להתאמת הדירוג של תוצאות החיפוש. המספר המקסימלי של רכיבים הוא 10. |
גוף התשובה
תשובת ה-API של החיפוש. המזהה הבא: 19
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:
| ייצוג ב-JSON |
|---|
{ "queryInterpretation": { object ( |
| שדות | |
|---|---|
queryInterpretation |
תוצאת פרשנות של שאילתת משתמש. אם פירוש השאילתה מושבת, השדה הזה ריק. |
results[] |
תוצאות משאילתת חיפוש. |
structuredResults[] |
תוצאות מובְנות לשאילתת המשתמש. התוצאות האלה לא נספרות במגבלת גודל הדף. |
spellResults[] |
הצעה לאיות של השאילתה. |
facetResults[] |
תוצאות חוזרות של היבטים. |
hasMoreResults |
האם יש עוד תוצאות חיפוש שמתאימות לשאילתה. |
debugInfo |
מידע על ניפוי הבאגים של התשובה. |
errorInfo |
מידע על שגיאה בתשובה. |
resultCounts |
מידע מורחב על מספר התוצאות. |
שדה איחוד
במקרים נדירים שבהם המערכת לא מצליחה לחפש בכל המסמכים, צריך להריץ מחדש את השאילתה. הערך |
|
resultCountEstimate |
מספר התוצאות המשוער של השאילתה הזו. |
resultCountExact |
מספר התוצאות המדויק לשאילתה הזו. |
היקפי הרשאות
נדרש אחד מהיקפי ההרשאות הבאים של OAuth:
https://www.googleapis.com/auth/cloud_search.queryhttps://www.googleapis.com/auth/cloud_search
מידע נוסף זמין במדריך ההרשאות.
QueryInterpretationOptions
אפשרויות לפרש את שאילתת המשתמש.
| ייצוג ב-JSON |
|---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
| שדות | |
|---|---|
disableNlInterpretation |
דגל להשבתת הפרשנות של שאילתות בשפה טבעית (NL). ברירת המחדל היא false. מגדירים את הערך true כדי להשבית את הפרשנות של שפה טבעית. הפרשנות של שפה טבעית חלה רק על מקורות נתונים מוגדרים מראש. |
enableVerbatimMode |
מפעילים את הדגל הזה כדי להשבית את כל האופטימיזציות הפנימיות, כמו פרשנות של שפה טבעית (NL) של שאילתות, אחזור של תוצאות משלימות ושימוש במילים נרדפות, כולל מילים נרדפות מותאמות אישית. הפרשנות של שפה טבעית תושבת אם אחד משני הדגלים יהיה True. |
disableSupplementalResults |
משתמשים בדגל הזה כדי להשבית את התוצאות המשלימות בשאילתה. ההגדרה של תוצאות משלימות שנבחרה ברמה של SearchApplication תקבל עדיפות אם היא מוגדרת כ-True. |
QueryInterpretation
| ייצוג ב-JSON |
|---|
{ "interpretedQuery": string, "interpretationType": enum ( |
| שדות | |
|---|---|
interpretedQuery |
הפרשנות של השאילתה שבה נעשה שימוש בחיפוש. לדוגמה, שאילתות עם כוונת שפה טבעית כמו "אימייל מג'ון" יפורשו כ-"from:john source:mail". השדה הזה לא ימולא אם הסיבה היא NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. |
interpretationType |
|
reason |
הסיבה לפרשנות של השאילתה. השדה הזה לא יהיה UNSPECIFIED אם סוג הפרשנות הוא לא NONE. |
interpretedQueryActualResultCount |
המספר בפועל של התוצאות שהוחזרו על ידי השאילתה המפורשת. |
interpretedQueryEstimatedResultCount |
מספר התוצאות המשוער שהוחזר על ידי השאילתה המפורשת. |
QueryInterpretation.InterpretationType
| טיפוסים בני מנייה (enum) | |
|---|---|
NONE |
לא נעשה שימוש בפרשנות של השפה הטבעית ולא בגרסה רחבה יותר של השאילתה כדי לאחזר את תוצאות החיפוש. |
BLEND |
התוצאות מהשאילתה המקורית משולבות עם תוצאות אחרות. הסיבה לשילוב התוצאות האחרות האלה עם התוצאות מהשאילתה המקורית מופיעה בשדה 'סיבה' שבהמשך. |
REPLACE |
התוצאות מהשאילתה המקורית מוחלפות. הסיבה להחלפת התוצאות מהשאילתה המקורית מופיעה בשדה 'סיבה' שבהמשך. |
QueryInterpretation.Reason
| טיפוסים בני מנייה (enum) | |
|---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
התוצאות של החיפוש מתקבלות באמצעות ניתוח של השאילתה בשפה טבעית. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
הדמיון בין מונחי השאילתה לבין מונחי המסמך משמש להרחבה סלקטיבית של השאילתה כדי לאחזר תוצאות חיפוש נוספות, כי לא נמצאו מספיק תוצאות לשאילתת המשתמש. השאילתה המפורשת תהיה ריקה במקרה הזה. |
SearchResult
תוצאות שמכילות מידע שעבר אינדוקס למסמך. המזהה הבא: 16
| ייצוג ב-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 |
זמן היצירה של המסמך או האובייקט הזה בתוצאת החיפוש. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z-normalized ויכלול 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: |
updateTime |
התאריך שבו האובייקט בתוצאת החיפוש שונה לאחרונה. אם הערך לא מוגדר בפריט, הערך שמוחזר כאן הוא ריק. אם משתמשים ב- הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z-normalized ויכלול 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: |
fields[] |
שדות שעברו אינדוקס בנתונים מובְנים, שמוחזרים כמאפיין כללי עם שם. |
displayOptions |
אפשרויות שמציינות איך להציג תוצאת חיפוש של נתונים מובְנים. |
objectType |
סוג האובייקט של תוצאת החיפוש. |
ResultDisplayMetadata
| ייצוג ב-JSON |
|---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
| שדות | |
|---|---|
objectTypeLabel |
התווית המוצגת של האובייקט. |
metalines[] |
התוכן של תגי ה-meta שיוצג עם התוצאה. |
ResultDisplayMetadata.ResultDisplayLine
אוסף השדות שמרכיבים את השורה שמוצגת
| ייצוג ב-JSON |
|---|
{
"fields": [
{
object ( |
| שדות | |
|---|---|
fields[] |
|
ResultDisplayMetadata.ResultDisplayField
הצגת שדות לתוצאות של שאילתת חיפוש
| ייצוג ב-JSON |
|---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
| שדות | |
|---|---|
label |
תווית התצוגה של המאפיין. |
operatorName |
שם המפעיל של הנכס. |
property |
זוג הערכים של שם המאפיין. |
ResultDebugInfo
מידע על ניפוי באגים לגבי התוצאה.
| ייצוג ב-JSON |
|---|
{ "formattedDebugInfo": string } |
| שדות | |
|---|---|
formattedDebugInfo |
מידע כללי על ניפוי באגים שמעוצב לתצוגה. |
StructuredResult
תוצאות מובנות שמוחזרות כחלק מבקשת החיפוש.
| ייצוג ב-JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה איחוד הערך |
|
person |
ייצוג של אדם |
SpellResult
| ייצוג ב-JSON |
|---|
{ "suggestedQuery": string, "suggestionType": enum ( |
| שדות | |
|---|---|
suggestedQuery |
ההצעה לאיות של השאילתה. |
suggestionType |
ההצעה מופעלת עבור השאילתה הנוכחית. |
suggestedQueryHtml |
קוד ה-HTML שעבר ניקוי ומייצג את השאילתה שתוקן בה האיות, שאפשר להשתמש בו בממשק המשתמש. בדרך כלל יש בו תגים ספציפיים לשפה כדי לסמן חלקים בשאילתה שנבדקים לאיות. |
SpellResult.SuggestionType
סוג ההצעה שהופעלה בשאילתה.
| טיפוסים בני מנייה (enum) | |
|---|---|
SUGGESTION_TYPE_UNSPECIFIED |
סוג ברירת המחדל של בדיקת האיות |
NON_EMPTY_RESULTS_SPELL_SUGGESTION |
ההצעה לאיות שונתה בלי שום תוצאות. התוצאות עדיין מוצגות עבור השאילתה המקורית (שיש לה תוצאות שונות מאפס), עם הצעה לאיות שיניב תוצאות. |
ZERO_RESULTS_FULL_PAGE_REPLACEMENT |
הצעה לאיות מופעלת כשאין תוצאות לשאילתה המקורית. אם אין תוצאות לשאילתה המקורית, אבל יש תוצאות להצעה לתיקון האיות, אנחנו מציגים תוצאות לשאילתה עם תיקון האיות. |
SafeHtmlProto
חשוב: לא בטוח לאשר את ההודעה הזו ממקור לא מהימן, כי קל לתוקף לזייף הודעות שעברו סריאליזציה ולא עומדות בחוזה הבטיחות של הסוג – למשל, היא יכולה להכיל סקריפט בשליטת התוקף. מערכת שמקבלת SafeHtmlProto סומכת באופן מרומז על היוצר של SafeHtmlProto. לכן, בדרך כלל בטוח להחזיר את ההודעה הזו בתגובות RPC, אבל בדרך כלל לא בטוח לקבל אותה בבקשות RPC.
| ייצוג ב-JSON |
|---|
{ "privateDoNotAccessOrElseSafeHtmlWrappedValue": string } |
| שדות | |
|---|---|
privateDoNotAccessOrElseSafeHtmlWrappedValue |
חשוב: אסור להגדיר את השדה הזה או לקרוא אותו, גם לא מבדיקות, כי הוא פרטי. בתיעוד בחלק העליון של קובץ .proto מפורטים חבילות של שפות תכנות שאפשר להשתמש בהן כדי ליצור או לקרוא את ההודעה הזו. |
FacetResult
תשובה ספציפית להיבט של מקור
| ייצוג ב-JSON |
|---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
| שדות | |
|---|---|
sourceName |
שם המקור שעבורו מוחזרות תוצאות של היבטים. השדה לא יהיה ריק. |
objectType |
סוג האובייקט שעבורו מוחזרות תוצאות של היבטים. אפשר להשאיר את השדה ריק. |
operatorName |
השם של האופרטור שנבחר לסינון לפי מאפיינים. @see cloudsearch.SchemaPropertyOptions |
buckets[] |
FacetBuckets לערכים בתגובה שמכילים לפחות תוצאה אחת עם המסנן המתאים. |
FacetBucket
היחידה הבסיסית של פעולה בפן היא bucket. דלי יכול להכיל ערך יחיד או טווח רציף של ערכים, בהתאם לסוג השדה שמוגדר כדלי. בשלב הזה, FacetBucket משמש רק להחזרת אובייקט התגובה.
| ייצוג ב-JSON |
|---|
{ "count": integer, "percentage": integer, "filter": { object ( |
| שדות | |
|---|---|
count |
מספר התוצאות שתואמות לערך של הדלי. הספירות מוחזרות רק לחיפושים שבהם מובטחת דיוק הספירה. מערכת Cloud Search לא מבטיחה את מספר התוצאות בכל פן, ומספר התוצאות עשוי להופיע רק לסירוגין, גם בשאילתות זהות. אל תיצרו תלות בקיומו של מספר הפנים. במקום זאת, השתמשו באחוזים של מספר הפנים, שתמיד מוחזרים. |
percentage |
אחוז התוצאות שתואמות לערך של הדלי. הערך שמוחזר הוא בין (0 ל-100], והוא מעוגל כלפי מטה למספר שלם אם הוא שבר. אם הערך לא מוחזר באופן מפורש, הוא מייצג ערך באחוזים שמעוגל ל-0. האחוזים מוחזרים לכל החיפושים, אבל הם משוערים. האחוזים תמיד מוחזרים, ולכן כדאי לעבד את האחוזים במקום את הספירות. |
filter |
מסנן שיועבר בבקשת החיפוש אם נבחרה הקטגוריה המתאימה. |
שדה איחוד bucket_value. הטווח או הערך של הדלי שמוגדרים כפנים bucket_value יכולים להיות רק אחד מהערכים הבאים: |
|
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 |
מספר התוצאות המדויק של המקור הזה. |