שימוש בחיפוש לפי מילות מפתח בלבד ב-Knowledge Catalog

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

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

לפני שמבצעים חיפוש, צריך לוודא שהוקצו לכם התפקידים הנדרשים ושהפעלתם את ה-API הדרוש.

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות בשביל לחפש רשומות ולגשת לתוצאות החיפוש ב-Knowledge Catalog, אתם צריכים לבקש מהאדמין לתת לכם את התפקידים הבאים ב-IAM:

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

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

שימוש בחיפוש לפי מילות מפתח בלבד

המסוף

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

  1. במסוף Google Cloud , עוברים לדף Search ב-Knowledge Catalog.

    מעבר אל חיפוש

  2. אם פלטפורמת החיפוש מוגדרת כקטלוג נתונים, בתפריט בחירת פלטפורמת חיפוש בוחרים באפשרות Knowledge Catalog.

  3. בשדה Find resources across projects (חיפוש משאבים בכל הפרויקטים), מזינים את השאילתה.

  4. כדי לצמצם את החיפוש, משתמשים בחלונית Filters. אלה המסננים שזמינים:

    • מערכות: רשימה של מערכות זמינות, כמו BigQuery או Cloud SQL. מערכת Knowledge Catalog מכילה רשומות מותאמות אישית.
    • היבטים (תגים) מאפשרים לכם לשלוח שאילתות לגבי נכסים שתויגו באמצעות תבנית ספציפית. אפשר להשתמש בתפריט התאמה אישית כדי לצמצם עוד יותר את התוצאות ולסנן לפי ערכים ספציפיים של היבטים.
    • פרויקט: רשימת הפרויקטים שאפשר להגדיר את היקף החיפוש שלהם.
    • כינויי סוגים הם סוגי נתונים שמשויכים לסוג רשומה. יכול להיות שסוג הרשומה יהיה projects/test-project/locations/us/entryTypes/my-entry-type, אבל אפשר לחפש אותה באמצעות הכינויים שלה TABLE או DATABASE. אפשר להגדיר כינוי אחד או יותר לסוג כשיוצרים או מעדכנים סוג רשומה.
    • מערכי נתונים מגיעים מ-BigQuery.

    אפשר להוסיף ידנית את המסננים הבאים:

    • כדי להוסיף מסנן פרויקט: בקטע פרויקט, לוחצים על הוספת פרויקט. מחפשים פרויקט ספציפי, בוחרים את הפרויקט ולוחצים על Open.
    • כדי להוסיף מסנן של סוג היבט: בקטע היבטים, לוחצים על התפריט הוספת סוגים נוספים של היבטים. מחפשים תבנית ספציפית, בוחרים אותה ולוחצים על אישור.
  5. אופציונלי: בנוסף לנכסים שזמינים לכם, אתם יכולים לחפש משאבים שזמינים לכולם ב- Google Cloud על ידי בחירה באפשרות Include public datasets (הכללת מערכי נתונים ציבוריים).

    הטיפים הבאים יעזרו לכם ליצור שאילתת חיפוש:

    • אם הביטוי לחיפוש מכיל רווחים, צריך להקיף אותו במירכאות. לדוגמה, "search terms".
    • מוסיפים NOT לפני מילת מפתח כדי להתאים לשלילה הלוגית של המסנן keyword:term. אפשר גם להשתמש באופרטורים בוליאניים AND ו-OR כדי לשלב ביטויי חיפוש. האופרטורים AND, OR ו-NOT לא תלויי אותיות רישיות (case-sensitive).

    לדוגמה, NOT column:term מפרטת את כל העמודות מלבד אלה שתואמות למונח שצוין.

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

gcloud

כדי לחפש משאבים, משתמשים בפקודה gcloud dataplex entries search.

C#‎

C#

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי C#ההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Api.Gax;
using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dataplex.V1;
using System;

public sealed partial class GeneratedCatalogServiceClientSnippets
{
    /// <summary>Snippet for SearchEntries</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void SearchEntriesRequestObject()
    {
        // Create client
        CatalogServiceClient catalogServiceClient = CatalogServiceClient.Create();
        // Initialize request argument(s)
        SearchEntriesRequest request = new SearchEntriesRequest
        {
            LocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
            Query = "",
            OrderBy = "",
            Scope = "",
            SemanticSearch = false,
        };
        // Make the request
        PagedEnumerable<SearchEntriesResponse, SearchEntriesResult> response = catalogServiceClient.SearchEntries(request);

        // Iterate over all response items, lazily performing RPCs as required
        foreach (SearchEntriesResult item in response)
        {
            // Do something with each item
            Console.WriteLine(item);
        }

        // Or iterate over pages (of server-defined size), performing one RPC per page
        foreach (SearchEntriesResponse page in response.AsRawResponses())
        {
            // Do something with each page of items
            Console.WriteLine("A page of results:");
            foreach (SearchEntriesResult item in page)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
        }

        // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
        int pageSize = 10;
        Page<SearchEntriesResult> singlePage = response.ReadPage(pageSize);
        // Do something with the page of items
        Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
        foreach (SearchEntriesResult item in singlePage)
        {
            // Do something with each item
            Console.WriteLine(item);
        }
        // Store the pageToken, for when the next page is required.
        string nextPageToken = singlePage.NextPageToken;
    }
}

המשך

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewCatalogClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.SearchEntriesRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#SearchEntriesRequest.
	}
	it := c.SearchEntries(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*dataplexpb.SearchEntriesResponse)
	}
}

Java

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.dataplex.v1.CatalogServiceClient;
import com.google.cloud.dataplex.v1.LocationName;
import com.google.cloud.dataplex.v1.SearchEntriesRequest;
import com.google.cloud.dataplex.v1.SearchEntriesResult;

public class SyncSearchEntries {

  public static void main(String[] args) throws Exception {
    syncSearchEntries();
  }

  public static void syncSearchEntries() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
      SearchEntriesRequest request =
          SearchEntriesRequest.newBuilder()
              .setName(LocationName.of("[PROJECT]", "[LOCATION]").toString())
              .setQuery("query107944136")
              .setPageSize(883849137)
              .setPageToken("pageToken873572522")
              .setOrderBy("orderBy-1207110587")
              .setScope("scope109264468")
              .setSemanticSearch(true)
              .build();
      for (SearchEntriesResult element : catalogServiceClient.searchEntries(request).iterateAll()) {
        // doThingsWith(element);
      }
    }
  }
}

Node.js

Node.js

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Node.js API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The project to which the request should be attributed in the
 *  following form: `projects/{project}/locations/global`.
 */
// const name = 'abc123'
/**
 *  Required. The query against which entries in scope should be matched.
 *  The query syntax is defined in Search syntax for Dataplex Universal
 *  Catalog (https://cloud.google.com/dataplex/docs/search-syntax).
 */
// const query = 'abc123'
/**
 *  Optional. Number of results in the search page. If <=0, then defaults
 *  to 10. Max limit for page_size is 1000. Throws an invalid argument for
 *  page_size > 1000.
 */
// const pageSize = 1234
/**
 *  Optional. Page token received from a previous `SearchEntries` call. Provide
 *  this to retrieve the subsequent page.
 */
// const pageToken = 'abc123'
/**
 *  Optional. Specifies the ordering of results.
 *  Supported values are:
 *  * `relevance`
 *  * `last_modified_timestamp`
 *  * `last_modified_timestamp asc`
 */
// const orderBy = 'abc123'
/**
 *  Optional. The scope under which the search should be operating. It must
 *  either be `organizations/<org_id>` or `projects/<project_ref>`. If it is
 *  unspecified, it defaults to the organization where the project provided in
 *  `name` is located.
 */
// const scope = 'abc123'
/**
 *  Optional. Specifies whether the search should understand the meaning and
 *  intent behind the query, rather than just matching keywords.
 */
// const semanticSearch = true

// Imports the Dataplex library
const {CatalogServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new CatalogServiceClient();

async function callSearchEntries() {
  // Construct request
  const request = {
    name,
    query,
  };

  // Run request
  const iterable = dataplexClient.searchEntriesAsync(request);
  for await (const response of iterable) {
      console.log(response);
  }
}

callSearchEntries();

PHP

PHP

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי PHPההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog PHP API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

use Google\ApiCore\ApiException;
use Google\ApiCore\PagedListResponse;
use Google\Cloud\Dataplex\V1\Client\CatalogServiceClient;
use Google\Cloud\Dataplex\V1\SearchEntriesRequest;
use Google\Cloud\Dataplex\V1\SearchEntriesResult;

/**
 * Searches for Entries matching the given query and scope.
 *
 * @param string $formattedName The project to which the request should be attributed in the
 *                              following form: `projects/{project}/locations/global`. Please see
 *                              {@see CatalogServiceClient::locationName()} for help formatting this field.
 * @param string $query         The query against which entries in scope should be matched.
 *                              The query syntax is defined in [Search syntax for Dataplex Universal
 *                              Catalog](https://cloud.google.com/dataplex/docs/search-syntax).
 */
function search_entries_sample(string $formattedName, string $query): void
{
    // Create a client.
    $catalogServiceClient = new CatalogServiceClient();

    // Prepare the request message.
    $request = (new SearchEntriesRequest())
        ->setName($formattedName)
        ->setQuery($query);

    // Call the API and handle any network failures.
    try {
        /** @var PagedListResponse $response */
        $response = $catalogServiceClient->searchEntries($request);

        /** @var SearchEntriesResult $element */
        foreach ($response as $element) {
            printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
        }
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

/**
 * Helper to execute the sample.
 *
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function callSample(): void
{
    $formattedName = CatalogServiceClient::locationName('[PROJECT]', '[LOCATION]');
    $query = '[QUERY]';

    search_entries_sample($formattedName, $query);
}

Python

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_search_entries():
    # Create a client
    client = dataplex_v1.CatalogServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.SearchEntriesRequest(
        name="name_value",
        query="query_value",
    )

    # Make the request
    page_result = client.search_entries(request=request)

    # Handle the response
    for response in page_result:
        print(response)

Ruby

Ruby

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Rubyההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/dataplex/v1"

##
# Snippet for the search_entries call in the CatalogService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::CatalogService::Client#search_entries.
#
def search_entries
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::CatalogService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::SearchEntriesRequest.new

  # Call the search_entries method.
  result = client.search_entries request

  # The returned object is of type Gapic::PagedEnumerable. You can iterate
  # over elements, and API calls will be issued to fetch pages as needed.
  result.each do |item|
    # Each element is of type ::Google::Cloud::Dataplex::V1::SearchEntriesResult.
    p item
  end
end

REST

כדי לחפש משאבים, משתמשים בשיטה searchEntries.

תחביר חיפוש של מילות מפתח בלבד

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

פסוקיות תנאי כשירות

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

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

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

מילות המפתח לחיפוש type, system, location ו-orgid תומכות רק במילת המפתח לחיפוש 'התאמה מדויקת' (=), ולא במילת המפתח לחיפוש 'מחרוזת משנה' (:). לדוגמה, type=foo או orgid=number.

חיפוש מילות מפתח ב-Knowledge Catalog תומך במגדירי התנאים הבאים:

מגדיר תיאור
name:x המחרוזת x מופיעה כמחרוזת משנה במזהה המשאב.
displayname:x המחרוזת x תואמת למחרוזת משנה של השם המוצג של המשאב.
column:x המחרוזת x תואמת למחרוזת משנה של שם העמודה (או של שם עמודה מקוננת) בסכימה של המשאב.
description:x התאמות x כטוקן בתיאור המשאב.
label:bar הפונקציה מחזירה התאמה למשאבי BigQuery שיש להם תווית (עם ערך כלשהו) ומפתח התווית מכיל את המחרוזת bar.
label=bar הפונקציה מחזירה התאמה למשאבי BigQuery שיש להם תווית (עם ערך כלשהו) ומפתח התווית שווה ל-bar כמחרוזת.
label:bar:x המחרוזת x תואמת למחרוזת משנה בערך של תווית עם המפתח bar שמצורפת למשאב BigQuery.
label=foo:bar התנאי תואם למשאבי BigQuery שבהם המפתח שווה ל-foo וערך המפתח שווה ל-bar.
label.foo=bar התנאי תואם למשאבי BigQuery שבהם המפתח שווה ל-foo וערך המפתח שווה ל-bar.
label.foo תואם למשאבי BigQuery שיש להם תווית שהמפתח שלה שווה ל-foo כמחרוזת.
type=TYPE התאמה למשאבים מסוג רשומה ספציפי או לכינוי הסוג שלה.
projectid:bar התאמה למשאבים בפרויקטים Google Cloud שמכילים את המחרוזת bar כמחרוזת משנה במזהה.
parent:x תואם ל-x כמחרוזת משנה של הנתיב ההיררכי של משאב. נתיב ההורה הוא fully_qualified_name של משאב ההורה.
orgid=number התאמה למשאבים בארגון Google Cloud עם ערך המזהה המדויק number.
system=SYSTEM התאמה של משאבים ממערכת שצוינה.
location=LOCATION

הפונקציה מחפשת משאבים במיקום שצוין עם שם מדויק. לדוגמה, location=us-central1 תואם לנכסים שמארחים באיווה.

נכסי BigQuery Omni תומכים במאפיין הזה באמצעות שם המיקום ב-BigQuery Omni. לדוגמה, המחרוזת location=aws-us-east-1 תואמת לנכסי BigQuery Omni בצפון וירג'יניה.

createtime

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

לדוגמה:

  • createtime:2019-01-01 תואם למשאבים שנוצרו בתאריך 2019-01-01.
  • createtime<2019-02 matches resources created before 2019-02-01T00:00:00.
  • createtime>2019-02 מתאים למשאבים שנוצרו אחרי 2019-02-01T00:00:00.

הפורמט של חותמת הזמן: YYYY-MM-DDThh:mm:ss

כל חותמות הזמן צריכות להיות בפורמט GMT. אין תמיכה באזורי זמן. יש תמיכה בחותמות זמן חלקיות, במפרידי תאריכים עם מקף (-) ובמפרידי תאריכים עם לוכסן (/).

לדוגמה:

  • 2010-10-22T05:36:24
  • 2010-10-22T05:36
  • 2010-10-22T05
  • 2010-10-22
  • 2010-10
  • 2010
  • 2010/10/22
updatetime

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

לדוגמה:

  • updatetime:2019-01-01 matches resources updated on 2019-01-01.
  • updatetime<2019-02 matches resources updated before 2019-02-01T00:00:00.
  • updatetime>2019-02 matches resources updated after 2019-02-01T00:00:00.

הפורמט של חותמת הזמן: YYYY-MM-DDThh:mm:ss

כל חותמות הזמן צריכות להיות בפורמט GMT. אין תמיכה באזורי זמן. יש תמיכה בחותמות זמן חלקיות, במפרידי תאריכים עם מקף (-) ובמפרידי תאריכים עם לוכסן (/).

לדוגמה:

  • 2010-10-22T05:36:24
  • 2010-10-22T05:36
  • 2010-10-22T05
  • 2010-10-22
  • 2010-10
  • 2010
  • 2010/10/22
fully_qualified_name:x המחרוזת x תואמת למחרוזת המשנה fully_qualified_name.
fully_qualified_name=x התאמות x בתור fully_qualified_name.

כדי לחפש רשומות לפי ההיבטים שמצורפים אליהן, משתמשים בתחביר השאילתה הבא.

מגדיר תיאור
aspect:x המחרוזת x מופיעה כמחרוזת משנה בנתיב המלא של סוג ההיבט של היבט שמצורף לרשומה, בפורמט projectid.location.ASPECT_TYPE_ID
aspect=x התאמה ל-x כנתיב המלא לסוג ההיבט של היבט שמצורף לרשומה, בפורמט projectid.location.ASPECT_TYPE_ID
aspect:xOPERATORvalue

חיפוש ערכים של שדות מאפיינים. התאמה ל-x כמחרוזת משנה של הנתיב המלא לסוג ההיבט ולשם השדה של היבט שמצורף לרשומה, בפורמט projectid.location.ASPECT_TYPE_ID.FIELD_NAME

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

  • מחרוזת: = (התאמה מדויקת) ו-: (מחרוזת משנה)
  • כל סוגי המספרים: =, ‏ :, <, ‏ >, ‏ <=, >=, ‏ =>, ‏ =<
  • Enum: =
  • Datetime: כמו במספרים, אבל הערכים להשוואה מטופלים כתאריכים ושעות במקום כמספרים
  • בוליאני: =

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

לדוגמה, כל השאילתות הבאות תואמות לרשומות שבהן הערך של השדה is-enrolled בהיבט employee-info הוא true. יוחזרו גם רשומות אחרות שתואמות למחרוזת המשנה.

  • aspect:example-project.us-central1.employee-info.is-enrolled=true
  • aspect:example-project.us-central1.employee=true
  • aspect:employee=true

אופרטורים לוגיים

שאילתה יכולה לכלול כמה פרדיקטים שמקושרים באמצעות אופרטורים לוגיים AND, OR או NOT.

  • אם לא מציינים אופרטור, המערכת מניחה שמשתמשים באופרטור הלוגי AND. לדוגמה, הפקודה foo bar מחזירה משאבים שתואמים גם לפרדיקט foo וגם לפרדיקט bar.
  • כדי לשלול פרדיקט, מוסיפים לו את הקידומת - (מקף) או NOT. לדוגמה, -name:foo מחזירה משאבים עם שמות שלא תואמים לפרדיקט foo.

בחיפוש של מילות מפתח בלבד, אופרטורים לוגיים לא תלויים באותיות רישיות.

תחביר מקוצר

כדי להשתמש בתחביר מקוצר בשאילתות, משתמשים ב-| (קו אנכי) לאופרטורים OR וב-, (פסיק) לאופרטורים AND. התחביר המקוצר פועל עבור כל הפרדיקטים המוסמכים, מלבד label.

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

  • חיפוש רשומות בתוך אחד מתוך הרבה פרויקטים באמצעות האופרטור OR

    projectid:(id1|id2|id3|id4)
    

    אותו חיפוש ללא שימוש בתחביר מקוצר נראה כך:

    projectid:id1 OR projectid:id2 OR projectid:id3 OR projectid:id4
    
  • חיפוש רשומות עם שמות עמודות תואמים:

    • AND: column:(name1,name2,name3)
    • OR: column:(name1|name2|name3)

המאמרים הבאים