웹사이트 검색 필터링

이 페이지에서는 웹사이트 데이터를 사용하여 검색 앱의 검색어를 필터링하는 방법을 설명합니다.

시작하기 전에

앱과 데이터 스토어를 만들고 웹사이트 데이터를 데이터 스토어에 수집했는지 확인합니다. 자세한 내용은 검색 앱 만들기를 참조하세요.

필터 표현식 정보

필터 표현식을 사용하여 웹사이트 검색 필터를 구성합니다. 필터를 구성하는 방법은 고급 웹사이트 색인 생성을 사용 설정했는지에 따라 다릅니다. 기본 웹사이트 검색 또는 고급 웹사이트 색인 생성 중 어떤 기능을 사용 중인지에 따라 다음 섹션 중 하나를 참조하세요.

기본 웹사이트 검색을 위한 필터 표현식

이 섹션에서는 기본 웹사이트 검색에서의 필터 표현식 동작을 설명합니다(고급 웹사이트 색인 생성 사용 중지).

기본 웹사이트 검색의 구문

다음 확장 Backus–Naur 형식은 기본 웹사이트 검색 시 웹사이트 검색 필터를 구성하기 위한 필터 표현식 구문을 요약합니다. 필터에서 콜론 뒤의 큰따옴표는 엄격하게 적용됩니다.

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

기본 웹사이트 검색에 사용할 수 있는 필드

기본 웹사이트 검색을 사용하는 경우 웹사이트 검색을 필터링하는 데 사용할 수 있는 필드는 다음과 같습니다.

  • cr(문자열): 검색 결과를 특정 국가의 문서로 제한합니다. 지원되는 값 목록은 국가 컬렉션 값을 참조하세요.

  • highRange(문자열): 검색 범위의 상한선을 지정합니다. 문서에 숫자가 포함된 경우 해당 문서가 응답에 포함되려면 숫자가 highRange 값 이하여야 합니다. highRangelowRange를 모두 지정하여 이러한 파라미터 범위 내에서 검색어를 만듭니다.

  • lowRange(문자열): 검색 범위의 하한선을 지정합니다. 문서에 숫자가 포함된 경우 해당 문서가 응답에 포함되려면 숫자가 lowRange 값 이상이어야 합니다. lowRangehighRange를 모두 지정하여 이러한 파라미터 범위 내에서 검색어를 만듭니다.

  • fileType(문자열): 검색 결과를 지정된 확장자가 있는 문서로 제한합니다. 지원되는 파일 형식 목록은 Google에서 색인을 생성할 수 있는 파일 형식을 참조하세요.

  • lr(문자열): 검색 결과를 지정된 언어로 작성된 문서로 제한합니다. 지원되는 언어 목록은 쿼리 파라미터(lr)를 참조하세요.

  • rights(문자열): 라이선스에 따라 검색 결과를 필터링합니다. 지원되는 값은 쿼리 파라미터(권한)를 참조하세요.

  • siteSearch(문자열): 쿼리로 검색해야 하는 웹페이지의 URL 패턴을 지정합니다.

기본 웹사이트 검색 예시

기본 웹사이트 검색을 위한 필터의 예시는 다음과 같습니다.

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

    (1) 미국에서 생성되었고 (2) https://example.com/example_domain 도메인에 있는 문서를 필터링합니다.

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

    (1) PDF 파일이고 (2) 영어로 된 문서를 필터링합니다.

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

    공개 도메인에 속한 문서를 필터링합니다.

고급 웹사이트 색인 생성의 필터 표현식

이 섹션에서는 고급 웹사이트 색인 생성에서의 필터 표현식 동작을 설명합니다(고급 웹사이트 색인 생성 사용 설정).

고급 웹사이트 색인 생성에 사용할 수 있는 필드

고급 웹사이트 색인 생성 시 다음 필드를 사용하여 웹사이트 검색을 필터링할 수 있습니다.

  • siteSearch(문자열): 쿼리로 검색해야 하는 웹페이지의 URL 패턴입니다.
  • meta 태그 이름 및 페이지 지도 속성 이름: 데이터 스토어의 스키마에 추가하여 필드를 검색 가능, 가져오기 가능, 색인 생성 가능으로 설정할 수 있는 웹페이지의 정형 데이터입니다. 자세한 내용은 고급 웹사이트 색인 생성에 정형 데이터 사용을 참조하세요.

고급 웹사이트 색인 생성의 구문

다음 확장 Backus–Naur 형식은 고급 웹사이트 색인 생성 시 웹사이트 검색 필터를 구성하기 위한 필터 표현식 구문을 요약합니다. 필터에서 콜론 뒤의 큰따옴표는 엄격하게 적용됩니다.

siteSearch를 필터링할 때 EBNF 구문은 다음과 같습니다.

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

meta 태그 이름 및 페이지 지도 속성 이름을 필터링할 때 EBNF 구문은 다음과 같습니다.

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

고급 웹사이트 색인 생성의 예시

siteSearch를 사용한 고급 웹사이트 색인 생성을 위한 필터의 예시는 다음과 같습니다.

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

    https://example.com/example_domain 도메인에 있는 문서를 필터링합니다. 예를 들면 https://example.com/example_domain/index.html입니다.

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

    https://example.com/subdomains/*와 일치하는 도메인에 있는 문서를 필터링합니다. 예를 들면 https://example.com/subdomains/example_subdomain_page입니다.

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

    첫 번째 또는 두 번째 URL 패턴과 일치하는 도메인에 있는 문서를 필터링합니다. 예를 들면 https://altostrat.com/subdomain/pages/title_page, https://cymbalgroup.com/subdomain/pages/title_page, https://altostrat.com/subdomain/pages/INFO입니다.

meta 또는 페이지 지도 속성 이름 필터링의 예시는 다음과 같습니다.

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

    meta 태그 또는 값이 networking 또는 computeproduct라는 페이지 지도 속성이 포함된 문서를 필터링합니다.

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

    meta 태그 또는 값이 storageproduct라는 페이지 지도 속성이 포함되지 않은 문서를 필터링합니다.

색인 생성에 사용되는 meta 태그 이름 및 페이지 지도 속성 이름에 대한 자세한 내용은 meta 태그의 사용 사례 예시페이지 지도의 사용 사례 예시를 참조하세요.

웹사이트 검색을 필터링하려면 다음 단계를 따르세요.

  1. 앱 ID를 찾습니다. 앱 ID가 이미 있는 경우 다음 단계로 건너뜁니다.

    1. Google Cloud 콘솔에서 Agent Builder 페이지로 이동합니다.

      앱으로 이동

    2. 페이지에서 앱 이름을 찾고 ID 열에서 앱 ID를 가져옵니다.

  2. 웹사이트 검색을 필터링하려면 filter 필드를 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"
    }'
    
    • PROJECT_ID: 프로젝트의 ID입니다.
    • APP_ID: 앱의 ID입니다.
    • QUERY: 검색할 쿼리 텍스트입니다.
    • FILTER: 필터 표현식을 사용하여 검색을 필터링하는 텍스트 필드입니다. 기본값은 빈 문자열입니다.

      기본 웹사이트 검색을 위한 필터 구성 방법에 대한 자세한 내용은 기본 웹사이트 검색의 필터 표현식을 참조하세요.

      고급 웹사이트 색인 생성을 위한 필터 구성 방법에 대한 자세한 내용은 고급 웹사이트 색인 생성의 필터 표현식을 참조하세요.