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

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 jika Anda memiliki penelusuran situs dasar:

  • cr (string) Membatasi hasil penelusuran pada dokumen dari negara tertentu. Untuk mengetahui daftar nilai yang didukung, lihat Nilai Kumpulan Data 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 besar 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 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 pemberian lisensi. Untuk nilai yang didukung, lihat Parameter kueri (hak).

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

Contoh penelusuran situs dasar

Berikut beberapa contoh filter untuk penelusuran situs dasar:

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

    Memfilter dokumen yang: (1) Berasal dari AS, 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) dalam bahasa 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 Anda 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 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/*\""}

    Memfilter dokumen yang ada di domain 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 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 meta atau PageMap:

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

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

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

    Memfilter 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 AI Applications.

      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"
    }'
    

    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.