סינון של חיפוש באתר

בדף הזה מוסבר איך לסנן שאילתות חיפוש באפליקציית חיפוש עם נתוני אתר.

לפני שמתחילים

מוודאים שיצרתם אפליקציה ומאגר נתונים, והעברתם נתונים מהאתר למאגר הנתונים. מידע נוסף מופיע במאמר בנושא יצירת אפליקציית חיפוש.

מידע על ביטויי סינון

משתמשים בביטויי מסננים כדי ליצור את מסנני החיפוש באתר. הדרך שבה יוצרים את המסננים משתנה בהתאם להגדרה של אינדוקס מתקדם של אתרים. אפשר לעיין באחד מהקטעים הבאים, בהתאם לסוג החיפוש באתר שיש לכם: חיפוש בסיסי באתר או הוספה מתקדמת של אתרים לאינדקס:

ביטויי סינון לחיפוש בסיסי באתר

בקטע הזה מוסבר איך מתבצע חיפוש באתרים בסיסיים (הוספה מתקדמת לאינדקס של אתרים מושבתת).

תחביר לחיפוש בסיסי באתר

הטופס המורחב של Backus–Naur הבא מסכם את תחביר הביטוי של המסנן ליצירת מסנן חיפוש באתר, כשמדובר בחיפוש בסיסי באתר. השימוש במירכאות כפולות אחרי הנקודתיים במסנן הוא חובה.

    # A single expression or multiple expressions that are joined by "AND".
  filter = expression, { "AND", expression };
  expression =
    # A simple expression applying to a text url string.
    | filter_key, ":", \"text_value\"
  filter_key = (cr | highRange | lowRange | fileType | lr | rights | siteSearch);
  text_value = string value to filter on;

השדות הזמינים לחיפוש בסיסי באתר

אלה השדות שזמינים לסינון החיפוש באתר כשמשתמשים בחיפוש אתרים בסיסי:

  • cr (string) הגבלת תוצאות החיפוש למסמכים ממדינה ספציפית. רשימת הערכים הנתמכים מופיעה במאמר ערכים של אוסף מדינות.

  • highRange (מחרוזת) מציינת את הגבול העליון של טווח החיפוש. אם מסמך מכיל מספר, המספר צריך להיות שווה לערך של highRange או קטן ממנו כדי שהמסמך ייכלל בתגובה. כדי ליצור שאילתת חיפוש בטווח של הפרמטרים האלה, צריך לציין גם את highRange וגם את lowRange.

  • lowRange (מחרוזת) מציין את הגבול התחתון של טווח החיפוש. אם מסמך מכיל מספר, המספר צריך להיות שווה לערך של lowRange או גדול ממנו כדי שהמסמך ייכלל בתשובה. כדי ליצור שאילתת חיפוש בטווח של הפרמטרים האלה, צריך לציין גם את lowRange וגם את highRange.

  • fileType (string) הגבלת תוצאות החיפוש למסמכים עם סיומת שצוינה. רשימה של סוגי קבצים נתמכים זמינה במאמר סוגי קבצים ש-Google יכולה להוסיף לאינדקס.

  • lr (string) הגבלת תוצאות החיפוש למסמכים שכתובים בשפה מסוימת. רשימת השפות הנתמכות מופיעה במאמר בנושא פרמטרים של שאילתות (lr).

  • rights (string) סינון תוצאות החיפוש על סמך רישוי. במאמר פרמטרים של שאילתות (זכויות) מפורטים הערכים הנתמכים.

  • siteSearch (מחרוזת) מציינת תבנית של כתובת URL לדפי האינטרנט שהשאילתה צריכה לחפש בהם.

דוגמאות לחיפוש בסיסי באתר

ריכזנו כאן כמה דוגמאות למסננים לחיפוש בסיסי באתר:

  • {"filter": "cr:\"countryUS\" AND siteSearch:\"https://example.com/example_domain\""}

    מסננים למסמכים שמתקיימים בהם התנאים הבאים: (1) הם מארה"ב, ו-(2) הם בדומיין https://example.com/example_domain.

  • {"filter": "fileType:\".pdf\" AND lr:\"lang_en\""}

    מסננים למסמכים שהם: (1) קובצי PDF ו-(2) באנגלית.

  • {"filter": "rights:\"cc_publicdomain\""}

    מסננים מסמכים שהם נחלת הכלל.

סינון ביטויים באמצעות הוספה מתקדמת של אתרים לאינדקס

בקטע הזה מוסבר איך פועל ביטוי סינון בתהליך המתקדם להוספת אתרים לאינדקס (כשהתהליך המתקדם להוספת אתרים לאינדקס מופעל).

השדות שזמינים בתהליך המתקדם להוספת אתרים לאינדקס

כשאתם משתמשים באינדוקס מתקדם של אתרים, אתם יכולים לסנן את החיפוש באתר באמצעות השדות הבאים:

  • siteSearch (מחרוזת): תבנית של כתובת URL לדפי האינטרנט שהשאילתה צריכה לחפש בהם.
  • meta שמות של תגים ושמות של מאפיינים ב-PageMap: נתונים מובְנים מדפי האינטרנט שאפשר להוסיף לסכימה של מאגר הנתונים כדי שהשדות יהיו ניתנים לחיפוש, לאחזור ולאינדוקס. מידע נוסף זמין במאמר בנושא שימוש בנתונים מובְנים להוספת אתרים לאינדקס בשיטה מתקדמת.

תחביר להוספת אתרים לאינדקס בשיטה מתקדמת

הטופס המורחב של Backus–Naur שבהמשך מסכם את התחביר של ביטויי מסננים ליצירת מסנן חיפוש באתר כשמשתמשים בתהליך המתקדם להוספת אתרים לאינדקס. השימוש במירכאות כפולות אחרי הנקודתיים במסנן הוא חובה.

כשמסננים לפי siteSearch, תחביר ה-EBNF הוא:

    # A single expression or multiple expressions that are joined by "OR".
  filter = expression, { "OR", expression };
    # Expressions can be prefixed with "-" or "NOT" to express a negation.
  expression = [ "-" | "NOT " ],
    # A simple expression applying to a text url string.
    | filter_key, ":", \"url_string\"
  filter_key = siteSearch;
  url_string = double quoted string representing a URL;

כשמסננים לפי שמות תגים meta ושמות מאפיינים של PageMap, תחביר ה-EBNF הוא:

    # A single expression or multiple expressions that are joined by "OR".
  filter = expression, { "OR", expression };
    # Expressions can be prefixed with "-" or "NOT" to express a negation.
  expression = [ "-" | "NOT " ],
   # Function "ANY" returns true if the field exactly matches any of the literals.
    | text_field, ":", "ANY", "(", literal, { ",", literal }, ")"
   # A simple expression applying to any indexable field.
   # Preview: Function "EXISTS" returns true if the field is not NULL, empty, or containing the default value.
    | text_field, ":", "EXISTS"
    | numerical_field, ":", "EXISTS"
  literal = double quoted string;
  # text_field corresponds to the meta tag or PageMap Attribute name, for example, category
  text_field = text field;

דוגמאות להוספת אתרים לאינדקס בשיטה מתקדמת

ריכזנו בשבילך כמה דוגמאות לסינון לצורך הוספה מתקדמת של אתרים לאינדקס באמצעות siteSearch:

  • {"filter": "siteSearch:\"https://example.com/example_domain\""}

    מסננים למסמכים שנמצאים בדומיין https://example.com/example_domain. לדוגמה, https://example.com/example_domain/index.html.

  • {"filter": "siteSearch:\"https://example.com/subdomains/*\""}

    מסננים למסמכים שנמצאים בדומיינים שתואמים לערך https://example.com/subdomains/*. לדוגמה, https://example.com/subdomains/example_subdomain_page.

  • {"filter": "siteSearch:\"https://altostrat.com/subdomain/pages/*\" OR siteSearch:\"http://cymbalgroup.com/pages/*\""}

    מסננים למסמכים שנמצאים בדומיינים שתואמים לתבנית הראשונה או השנייה של כתובת ה-URL. לדוגמה, https://altostrat.com/subdomain/pages/title_page,‏ https://cymbalgroup.com/subdomain/pages/title_page או https://altostrat.com/subdomain/pages/INFO.

ריכזנו כמה דוגמאות לסינון לפי שם מאפיין meta או לפי שם מאפיין של PageMap:

  • {"filter": "product: EXISTS"}

    מסננים מסמכים שמכילים את התג meta או מאפיין PageMap בשם product, כשהערך שלו לא ריק.

  • {"filter": "product: ANY(\"networking\",\"compute\")"}

    מסננים למסמכים שמכילים את התג meta או את מאפיין PageMap בשם product, עם הערך networking או compute.

  • {"filter": "NOT product: ANY(\"storage\")"}

    מסננים מסמכים שלא מכילים את התג meta או את שם המאפיין PageMapAttribute product עם הערך storage.

  • {"filter": "dateModified>= \"2025-07-31T00:00:00Z\")"}

    מסננים מסמכים שתאריך העדכון האחרון שלהם הוא 31 ביולי 2025. הפורמט חייב להיות תואם לפורמט בסכימת המסמך. מידע נוסף זמין במאמר DATETIME.

למידע נוסף על שמות התגים של meta ושמות המאפיינים של PageMap שמשמשים לאינדוקס, אפשר לעיין במאמרים דוגמה לתרחיש שימוש בתגי meta ודוגמה לתרחיש שימוש ב-PageMaps.

כדי לסנן חיפוש באתר, פועלים לפי השלבים הבאים:

  1. מאתרים את מזהה האפליקציה. אם כבר יש לכם מזהה אפליקציה, דלגו לשלב הבא.

    1. נכנסים לדף AI Applications במסוף Google Cloud .

      מעבר אל 'אפליקציות'

    2. בדף אפליקציות, מאתרים את שם האפליקציה ומעתיקים את המזהה שלה מהעמודה מזהה.

  2. כדי לסנן חיפוש באתר, משתמשים בשדה filter עם השיטה engines.servingConfigs.search.

    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
    -d '{
     "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search",
    "query": "QUERY",
    "filter": "FILTER"
    }'
    

    מחליפים את מה שכתוב בשדות הבאים: