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 memasukkan data situs ke 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 akan 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

Extended Backus–Naur form 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 Anda 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 berada pada 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 berada pada atau di atas 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 tertentu. 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 tertentu. Untuk mengetahui daftar bahasa yang didukung, lihat Parameter kueri (lr).

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

  • siteSearch (string) Menentukan Pola URL untuk halaman web yang harus ditelusuri oleh kueri Anda.

Contoh untuk penelusuran situs dasar

Berikut beberapa contoh filter untuk penelusuran situs dasar:

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

    Filter untuk dokumen yang: (1) Berasal dari Amerika Serikat, dan (2) Berada di domain https://example.com/example_domain.

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

    Filter untuk dokumen yang: (1) Berupa file PDF, dan (2) Berbahasa Inggris.

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

    Filter untuk dokumen yang berada di domain publik.

Ekspresi filter 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 harus ditelusuri oleh 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 mengetahui informasi selengkapnya, lihat Menggunakan data terstruktur untuk pengindeksan situs lanjutan.

Sintaksis untuk pengindeksan situs lanjutan

Extended Backus–Naur form berikut merangkum sintaksis ekspresi filter untuk membuat filter penelusuran situs saat Anda memiliki pengindeksan situs lanjutan. Tanda kutip ganda setelah titik dua dalam filter diterapkan secara ketat.

Saat memfilter siteSearch, sintaksis EBNF 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 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 berada di domain https://example.com/example_domain. Misalnya, 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/*. Misalnya, https://example.com/subdomains/example_subdomain_page.

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

    Filter untuk dokumen yang berada di domain mana 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 beberapa contoh untuk pemfilteran nama Atribut PageMap atau meta:

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

    Filter untuk dokumen yang berisi tag meta atau atribut PageMap bernama product, dengan nilainya berupa networking atau compute.

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

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

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

    Filter untuk dokumen yang memiliki tanggal terakhir diubah pada 31 Juli 2025. Formatnya harus sesuai dengan format dalam skema dokumen. Untuk mengetahui informasi selengkapnya, lihat DATETIME.

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 PageMaps.

Untuk memfilter penelusuran situs, ikuti langkah-langkah berikut:

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

    1. Di Google Cloud Konsol, buka halaman AI Applications.

      Buka Aplikasi

    2. Di halaman Apps, 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"
    }'
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.
    • APP_ID: ID aplikasi Anda.
    • QUERY: teks kueri yang akan ditelusuri.
    • FILTER: kolom teks untuk memfilter penelusuran Anda menggunakan ekspresi filter. Nilai defaultnya adalah string kosong.

      Untuk mengetahui informasi tentang cara membuat filter untuk penelusuran situs dasar, lihat Ekspresi filter dengan penelusuran situs dasar.

      Untuk mengetahui informasi tentang cara membuat filter untuk pengindeksan situs lanjutan, lihat Ekspresi filter dengan pengindeksan situs lanjutan.