Memfilter penelusuran situs

Halaman ini menjelaskan cara memfilter kueri penelusuran untuk aplikasi penelusuran dengan data situs.

Sebelum memulai

Pastikan Anda telah membuat aplikasi dan penyimpanan data serta telah menyerap data situs ke dalam penyimpanan data. Untuk mengetahui informasi selengkapnya, lihat Membuat aplikasi penelusuran.

Tentang ekspresi filter

Gunakan ekspresi filter untuk membuat filter penelusuran situs Anda. Cara Anda membuat filter bervariasi bergantung pada apakah Anda telah mengaktifkan pengindeksan situs lanjutan. Lihat salah satu bagian berikut, bergantung pada apakah Anda memiliki penelusuran situs dasar atau pengindeksan situs lanjutan:

Ekspresi filter untuk penelusuran situs dasar

Bagian ini menjelaskan perilaku ekspresi filter dengan penelusuran situs dasar (pengindeksan situs lanjutan dinonaktifkan).

Sintaksis untuk penelusuran situs dasar

Formulir Backus–Naur yang Diperluas berikut merangkum sintaksis ekspresi filter untuk membuat filter penelusuran situs saat Anda memiliki penelusuran situs dasar. Tanda kutip ganda setelah titik dua dalam filter diterapkan secara ketat.

    # 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;

Kolom yang tersedia untuk penelusuran situs dasar

Berikut adalah kolom yang tersedia untuk memfilter penelusuran situs saat Anda memiliki penelusuran situs dasar:

  • cr (string) Membatasi hasil penelusuran pada dokumen dari negara tertentu. Untuk mengetahui daftar nilai yang didukung, lihat Nilai Koleksi Negara.

  • highRange (string) Menentukan batas atas rentang penelusuran. Jika dokumen berisi angka, angka tersebut harus sama dengan atau di bawah nilai highRange agar dokumen tersebut disertakan dalam respons. Tentukan highRange dan lowRange untuk membuat kueri penelusuran dalam rentang parameter ini.

  • lowRange (string) Menentukan batas bawah rentang penelusuran. Jika dokumen berisi angka, angka tersebut harus sama dengan atau lebih tinggi dari nilai lowRange agar dokumen tersebut disertakan dalam respons. Tentukan lowRange dan highRange untuk membuat kueri penelusuran dalam rentang parameter ini.

  • fileType (string) Membatasi hasil penelusuran pada dokumen dengan ekstensi yang ditentukan. Untuk mengetahui daftar jenis file yang didukung, lihat Jenis file yang dapat diindeks oleh Google.

  • lr (string) Membatasi hasil penelusuran pada dokumen yang ditulis dalam bahasa yang ditentukan. Untuk mengetahui daftar bahasa yang didukung, lihat Parameter kueri (lr).

  • rights (string) Memfilter hasil penelusuran berdasarkan pemberian lisensi. Untuk nilai yang didukung, lihat Parameter kueri (hak).

  • siteSearch (string) Menentukan pola URL untuk halaman web yang akan ditelusuri kueri Anda.

Contoh untuk penelusuran situs dasar

Berikut adalah beberapa contoh filter untuk penelusuran situs dasar:

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

    Filter untuk dokumen yang: (1) Dari Amerika Serikat, dan (2) Dalam domain https://example.com/example_domain.

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

    Filter untuk dokumen yang: (1) File PDF, dan (2) Dalam bahasa Inggris.

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

    Filter untuk dokumen yang berada di domain publik.

Memfilter ekspresi dengan pengindeksan situs lanjutan

Bagian ini menjelaskan perilaku ekspresi filter dengan pengindeksan situs lanjutan (pengindeksan situs lanjutan diaktifkan).

Kolom yang tersedia untuk pengindeksan situs lanjutan

Jika memiliki pengindeksan situs lanjutan, Anda dapat memfilter penelusuran situs menggunakan kolom berikut:

  • siteSearch (string): Pola URL untuk halaman web yang akan ditelusuri kueri Anda.
  • Nama tag meta dan nama Atribut PageMap: Data terstruktur dari halaman web Anda yang dapat ditambahkan ke skema penyimpanan data untuk membuat kolom dapat ditelusuri, diambil, dan diindeks. Untuk informasi selengkapnya, lihat Menggunakan data terstruktur untuk pengindeksan situs lanjutan.

Sintaksis untuk pengindeksan situs lanjutan

Formulir Backus–Naur yang Diperluas berikut merangkum sintaksis ekspresi filter untuk membuat filter penelusuran situs jika Anda memiliki pengindeksan situs lanjutan. Tanda kutip ganda setelah titik dua dalam filter diterapkan secara ketat.

Saat memfilter siteSearch, sintaksis EBNF-nya adalah:

    # 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;

Saat memfilter nama tag meta dan nama Atribut PageMap, sintaksis EBNF-nya adalah:

    # 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 }, ")"
  literal = double quoted string;
  # text_field corresponds to the meta tag or PageMap Attribute name, for example, category
  text_field = text field;

Contoh untuk pengindeksan situs lanjutan

Berikut beberapa contoh filter untuk pengindeksan situs lanjutan dengan siteSearch:

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

    Filter untuk dokumen yang ada di domain https://example.com/example_domain. Contoh, https://example.com/example_domain/index.html.

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

    Filter untuk dokumen yang berada di domain mana pun yang cocok dengan https://example.com/subdomains/*. Contoh, https://example.com/subdomains/example_subdomain_page.

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

    Memfilter dokumen yang berada di domain apa pun yang cocok dengan pola URL pertama atau kedua. Misalnya, https://altostrat.com/subdomain/pages/title_page, https://cymbalgroup.com/subdomain/pages/title_page, atau https://altostrat.com/subdomain/pages/INFO.

Berikut adalah beberapa contoh pemfilteran Nama atribut meta atau PageMap:

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

    Memfilter dokumen yang berisi tag meta atau atribut PageMap bernama product, dengan nilainya sebagai networking atau compute.

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

    Filter untuk dokumen yang tidak berisi tag meta atau nama Atribut PageMap product dengan nilainya sebagai storage.

Untuk mengetahui informasi selengkapnya tentang nama tag meta dan nama Atribut PageMap yang digunakan untuk pengindeksan, lihat Contoh kasus penggunaan untuk tag meta dan Contoh kasus penggunaan untuk PageMap.

Untuk memfilter penelusuran situs, ikuti langkah-langkah berikut:

  1. Temukan ID aplikasi Anda. Jika Anda sudah memiliki ID aplikasi, lanjutkan ke langkah berikutnya.

    1. Di konsol Google Cloud, buka halaman Agent Builder.

      Buka Aplikasi

    2. Di halaman Aplikasi, temukan nama aplikasi Anda dan dapatkan ID aplikasi dari kolom ID.

  2. Untuk memfilter penelusuran situs, gunakan kolom filter dengan metode 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"
    }'