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

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

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

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

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

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

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

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

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

המסוף

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

  1. נכנסים לדף Search של Knowledge Catalog במסוף Google Cloud .

    מעבר לחיפוש

  2. בשדה Find resources across projects, מזינים את השאילתה.

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

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

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

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

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

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

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

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

gcloud

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

C#‎

C#

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

כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את 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.

כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את 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.

כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את 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.

כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את 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.

כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את 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.

כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את 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.

כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את 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

כדי לחפש משאבים, משתמשים ב-method‏ 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 תואם למשאבים שנוצרו לפני 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 תואם למשאבים שעודכנו בתאריך 2019-01-01.
  • updatetime<2019-02 תואם למשאבים שעודכנו לפני 2019-02-01T00:00:00.
  • updatetime>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
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

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

  • מחרוזת: = (התאמה מדויקת) ו-: (מחרוזת משנה)
  • כל סוגי המספרים: =, :, <, >, <=, >=, =>, =<
  • thought 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
    
  • מחפשים רשומות עם שמות עמודות תואמים:

    • וגם: column:(name1,name2,name3)
    • או: column:(name1|name2|name3)

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