- בקשת 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 נעשה שימוש בתחביר המרת קידוד של gRPC.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
ייצוג JSON |
---|
{ "requestOptions": { object ( |
שדות | |
---|---|
requestOptions |
אפשרויות של בקשות, כמו אפליקציית החיפוש ואזור הזמן של המשתמש. |
query |
מחרוזת השאילתה הגולמית. אפשר לראות אופרטורים נתמכים של חיפוש בקטע צמצום החיפוש באמצעות אופרטורים |
pageSize |
המספר המקסימלי של תוצאות חיפוש שיחזרו בדף אחד. ערכים חוקיים הם בין 1 ל-100, כולל. ערך ברירת המחדל הוא 10. הערך המינימלי הוא 50 כשמבקשים תוצאות מעבר ל-2,000. |
start |
אינדקס התחלתי של התוצאות. |
dataSourceRestrictions[] |
המקורות שאפשר להשתמש בהם לשליחת שאילתות. אם לא מציינים זאת, המערכת תשתמש בכל מקורות הנתונים מאפליקציית החיפוש הנוכחית. |
facetOptions[] |
|
sortOptions |
האפשרויות למיון תוצאות החיפוש |
queryInterpretationOptions |
כדי לפרש את שאילתת המשתמש. |
contextAttributes[] |
מאפייני הקשר של הבקשה, שישמשו לשינוי הדירוג של תוצאות החיפוש. אפשר לכלול עד 10 רכיבים. |
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:
תגובת ה-API לחיפוש.
ייצוג JSON |
---|
{ "queryInterpretation": { object ( |
שדות | |
---|---|
queryInterpretation |
תוצאת פרשנות שאילתה עבור שאילתת משתמש. ריק אם פרשנות השאילתה מושבתת. |
results[] |
תוצאות משאילתת חיפוש. |
structuredResults[] |
תוצאות מובנות לשאילתת המשתמש. התוצאות האלו לא נספרות ביחס לגודל הדף. |
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 תושבת אם אחד משני הדגלים מתקיים. |
disableSupplementalResults |
השתמשו בדגל הזה כדי להשבית תוצאות משלימות לשאילתה. הגדרה של תוצאות משלימות שנבחרה ברמת SearchApplication תקבל עדיפות אם היא מוגדרת כ-True. |
QueryInterpretation
ייצוג JSON |
---|
{ "interpretedQuery": string, "interpretationType": enum ( |
שדות | |
---|---|
interpretedQuery |
פירוש השאילתה ששימשה בחיפוש. לדוגמה, שאילתות עם כוונה להשתמש בשפה טבעית, כמו "email from john" (אימייל מאת יוני) יפורש כ-"from:john source:mail". השדה הזה לא ימולא כשהסיבה היא NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. |
interpretationType |
|
reason |
הסיבה לפירוש השאילתה. השדה הזה לא יהיה 'UNSPECIFIED' אם סוג הפרשנות הוא לא 'ללא'. |
QueryInterpretation.InterpretationType
טיפוסים בני מנייה (enum) | |
---|---|
NONE |
לא פרשנות השפה הטבעית או גרסה רחבה יותר של השאילתה משמשות לאחזור תוצאות החיפוש. |
BLEND |
התוצאות מהשאילתה המקורית משולבות עם תוצאות אחרות. הסיבה לשילוב התוצאות האלה עם התוצאות מהשאילתה המקורית מאוכלסת ב'סיבה' למטה. |
REPLACE |
התוצאות מהשאילתה המקורית יוחלפו. הסיבה להחלפת התוצאות מהשאילתה המקורית מאוכלסת ב-'Reason' למטה. |
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) שצריך לסמן בתו בריחה (escape) לפני הרינדור. |
matchRanges[] |
הטווחים התואמים בקטע הקוד. |
MatchRange
טווח תואם של קטע קוד [התחלה, סיום).
ייצוג JSON |
---|
{ "start": integer, "end": integer } |
שדות | |
---|---|
start |
המיקום ההתחלתי של ההתאמה בקטע הקוד. |
end |
סוף ההתאמה בקטע הקוד. |
מטא-נתונים
מטא-נתונים של תוצאת חיפוש תואמת.
ייצוג JSON |
---|
{ "source": { object ( |
שדות | |
---|---|
source |
המקור בעל השם של התוצאה, למשל Gmail. |
mimeType |
סוג Mime של תוצאת החיפוש. |
thumbnailUrl |
כתובת ה-URL של התמונה הממוזערת של התוצאה. |
owner |
הבעלים (בדרך כלל היוצר) של המסמך או האובייקט של תוצאת החיפוש. |
createTime |
שעת היצירה של המסמך או האובייקט הזה בתוצאת החיפוש. חותמת זמן ב-RFC3339 UTC 'Zulu' בפורמט של רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: |
updateTime |
תאריך השינוי האחרון של האובייקט בתוצאת החיפוש. אם המאפיין לא מוגדר בפריט, הערך המוחזר כאן יהיה ריק. אם הערך חותמת זמן ב-RFC3339 UTC 'Zulu' בפורמט של רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: |
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[] |
קטגוריות FacetBucket עבור ערכים בתגובה שמכילים לפחות תוצאה אחת עם המסנן המתאים. |
FacetBucket
קטגוריה בהיבט היא יחידת הפעולה הבסיסית. קטגוריה יכולה להכיל ערך יחיד או טווח רציף של ערכים, בהתאם לסוג השדה המסווג בקטגוריה. כרגע נעשה שימוש ב-FacetBucket רק להחזרת אובייקט התשובה.
ייצוג JSON |
---|
{ "count": integer, "percentage": integer, "filter": { object ( |
שדות | |
---|---|
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 |
מספר התוצאות המדויק למקור הזה. |