검색결과 필터링 및 정렬

개요

프로그래밍 검색 엔진은 사용자가 사이트의 적절한 페이지로 이동할 수 있도록 구조화된 검색 연산자를 제공합니다. 이를 통해 페이지의 구조화된 데이터 또는 사이트의 이미지와 연결된 메타데이터를 기반으로 검색결과의 하위 집합을 상세히 살펴볼 수 있습니다.

이미지 검색의 경우 Google에서는 페이지의 구조화된 데이터와 사이트를 크롤링할 때 발견된 이미지 메타데이터를 모두 사용합니다. 모든 웹마스터는 Google의 이미지 게시 가이드라인을 숙지하는 것이 좋습니다.

  1. 웹 검색
  2. 이미지 검색
  3. 프로그래밍 검색 요소의 구조화된 검색

웹 검색

자유 형식의 단어 시퀀스인 텍스트와 달리 구조화된 데이터는 속성 집합을 가진 객체 집합으로 논리적으로 구성됩니다. 프로그래밍 검색 엔진은 날짜, 작성자, 평점, 가격 등 구조화된 검색 연산자가 사용할 수 있도록 다양한 구조화된 데이터를 추출합니다. 이 데이터는 맞춤 스니펫에서 사용할 수 있는 데이터와 동일합니다. 또한 프로그래밍 검색 엔진은 다음 형식의 구조화된 데이터를 지원합니다.

  • PageMap: PageMap은 웹페이지에 삽입된 XML 블록으로 인코딩된 속성 및 값이 있는 DataObjects로 구조화된 데이터를 명시적으로 나타냅니다. 프로그래매틱 검색엔진을 사용하면 구조화된 검색 연산자에 올바른 형식의 모든 페이지 지도 데이터를 사용할 수 있으며, 맞춤 스니펫에도 사용할 수 있습니다.
  • meta 태그: Google은 <meta name="NAME" content="VALUE"> 형식의 meta 태그에서 선택된 콘텐츠를 추출합니다. <meta name="pubdate" content="20100101"> 형식의 meta 태그는 &sort=metatags-pubdate 형식의 검색 연산자와 함께 사용할 수 있습니다.
  • 페이지 날짜: Google은 URL, 제목, 서명일, 기타 기능을 기반으로 페이지의 날짜를 예측합니다. 이 날짜는 특수 구조화된 데이터 유형 date를 사용하여 정렬 연산자와 함께 사용할 수 있습니다(예: &sort=date).
  • 리치 스니펫 데이터: Google은 다음과 같은 공개 표준에서 데이터의 하위 집합도 추출합니다. 프로그래밍 검색 엔진의 구조화된 데이터 연산자에 사용할 수 있습니다. 예를 들어 평점에 따라 Microformat hrecipe 표준으로 마크업된 페이지를 정렬하려면 &sort=recipe-ratingstars를 사용합니다.

구조화된 데이터 제공에 대해 자세히 알아보기

페이지에 구조화된 데이터가 포함된 경우 프로그래밍 검색 엔진의 구조화된 검색 연산자를 적용하여 검색을 특정 데이터 값이 있는 필드로 제한하거나, 숫자 값으로 엄격하게 정렬하거나, 정렬이 아닌 특정 값에 편중하거나, 지정된 값 범위로 제한할 수 있습니다.

프로그래밍 검색 엔진은 구조화된 데이터에 대해 다음과 같은 검색 연산자를 지원합니다.

맨 위로

속성별 필터링

속성별 필터링을 사용하면 다음 세 가지 종류의 결과를 선택할 수 있습니다.

  • 특정 연결된 DataObject가 있는 결과(예: 리뷰)
  • 가격대가 있는 리뷰와 같이 특정 필드가 있는 DataObject가 있는 결과입니다.
  • 특정 필드 값이 있는 결과(예: 별표 5개 리뷰)

속성별로 필터링하려면 검색어에 more:pagemap:TYPE-NAME:VALUE 연산자를 추가합니다. 이렇게 하면 해당 유형, 이름, 값과 정확하게 일치하는 구조화된 데이터가 있는 페이지로 검색 결과가 제한됩니다. (프로그래밍 가능한 검색엔진은 페이지당 최대 200개의 속성을 변환하며, 페이지맵 데이터부터 JSON-LD, 마이크로포맷, 메타태그, RDFa, 마이크로데이터 순으로 변환합니다.) 속성은 128자(영문 기준) 이하여야 합니다. 이름이 지정된 필드의 모든 인스턴스와 일치하도록 VALUE를 생략하거나 특정 유형의 모든 객체와 일치하도록 -NAME:VALUE를 생략하여 이 연산자를 일반화할 수 있습니다.

구조화된 데이터에서 완전한 연산자가 어떻게 구성되는지 확인하려면 앞에서 사용한 예를 떠올려 보세요.

[halloween more:pagemap:document-author:lisamorton]

more:pagemap:document-author:lisamorton 제한을 더 자세히 설명하면, more: 연산자는 프로그래밍 검색 엔진에서 상세검색 라벨에 사용하는 연산자이며, 상세검색의 pagemap: 부분은 색인이 생성된 PageMaps의 특정 속성별로 결과를 상세검색하며 연산자의 나머지 요소(document-authorlisamorton)는 제한사항이 드릴다운할 때 사용할 콘텐츠를 지정합니다. 다음 예에서 PageMap을 떠올려 보세요.

<PageMap>
  <DataObject type="document">
    <Attribute name="title">The Five Scariest Traditional Halloween Stories</Attribute>
    <Attribute name="author">lisamorton</Attribute>
  </DataObject>
</PageMap>

연산자의 document-author: 한정자는 author라는 속성이 있는 document 유형의 DataObject를 찾도록 지시합니다. 이 구조화된 데이터 키 뒤에는 lisamorton 값이 옵니다. 이 값은 이 제한사항이 포함된 검색에서 반환될 속성 값과 정확하게 일치해야 합니다.

more:p:document-author:lisamorton

속성별로 필터링할 때 간단한 쿼리를 사용하여 더 복잡한 필터와 더 짧은 명령어를 만들 수 있습니다. 예를 들어 URL에 다음과 같은 PageMap을 추가할 수 있습니다.

    <pagemap>
      <DataObject type="document">
        <Attribute name="keywords">horror</Attribute>
        <Attribute name="keywords">fiction</Attribute>
        <Attribute name="keywords">Irish</Attribute>
      </DataObject>
    </pagemap>
  </page>

'아일랜드 AND 픽션'이라는 검색어의 결과를 검색하려면 다음을 사용하세요.

more:p:document-keywords:irish*fiction

more:pagemap:document-keywords:Irish more:pagemap:document-keywords:fiction과 동일합니다.

'아일랜드 AND (픽션 OR 호러)'의 결과를 검색하려면 다음을 사용하세요.

more:p:document-keywords:irish*fiction,irish*horror

맨 위로

브랜치로 필터링

브랜치로 필터링은 JSON-LD, Microformat, RDFa에 사용할 수 있는 속성별 필터링의 변형입니다. 이는 구조화된 JSON-LD 데이터에 사용할 수 있는 속성별 유일한 필터 유형입니다.

구조화된 데이터에 트리가 없거나 하위 요소가 없는 트리만 포함된 경우 제한은 속성별 필터와 동일합니다. 그러나 하위 요소가 있는 트리에는 루트에서 리프 노드까지 각 노드의 type-name을 포함하는 제한이 있습니다. 따라서 트리는 다음과 같습니다.

  • 루트는 Event 유형입니다.
  • 어린이의 이름은 rating입니다.
  • 하위 요소에 AggregateRating 유형이 있습니다.
  • 하위 항목에 이름이 ratingCount이고 값이 22인 속성이 있는 경우
평점 수로 끝나는 브랜치에 more:pagemap:event-rating-aggregaterating-ratingcount:22와 같은 제한이 생성됩니다.

속성 또는 브랜치로 필터링과 다른 기능 사용

이 개방형 구문을 사용하여 사이트 문서의 PageMaps에 지정된 콘텐츠를 상세히 살펴볼 수 있습니다. 또한 예상 페이지 날짜만 제외하고 Google에서 지원하는 거의 모든 다른 유형의 구조화된 데이터에도 동일한 구문을 사용할 수 있습니다. 또한 이러한 more:pagemap: 연산자를 상세검색 라벨 또는 숨겨진 쿼리 요소와 함께 사용하여 애플리케이션에 중요한 속성별로 결과를 필터링할 수 있으므로 최종 사용자가 이러한 제한 한정자를 직접 입력할 필요가 없습니다.

검색 연산자의 일부를 생략할 수도 있습니다. 위의 예에서 PageMap은 document 유형의 DataObject와 author 유형의 속성을 지정합니다. 그러나 사이트의 모든 페이지가 문서일 수는 없으며 모든 문서에 기인한 작성자가 있을 수 있는 것은 아닙니다. more:pagemap:document-author 형식의 연산자를 사용하면 속성의 값에 관계없이 document DataObject의 author 속성이 있는 모든 페이지가 반환된 결과에 포함됩니다. 마찬가지로 more:pagemap:document의 경우 해당 DataObject에 어떤 필드가 있는지에 관계없이 document 유형의 DataObject가 있는 PageMaps가 포함된 모든 결과를 반환합니다.

제한의 텍스트 값 토큰화

공백, 구두점 또는 특수문자가 포함된 속성 값은 거의 항상 별도의 토큰으로 분할됩니다. 예를 들어 '프로그래밍 검색 엔진@google'의 속성 값은 3개의 개별 토큰인 'custom', 'search', 'google'로 분할됩니다. 이렇게 하면 프로덕션 설명과 같이 더 큰 순서의 단어와 구두점에 삽입된 단일 단어를 검색할 수 있습니다. 프로그래밍 검색 엔진은 문자열당 최대 10개의 토큰을 추출하므로 속성 값에 포함된 단어가 10개를 초과하는 경우 일부 단어로는 결과를 제한할 수 없습니다. 예를 들어 다음 페이지 맵에는 프로그래밍 검색 엔진의 프로덕션 설명이 포함되어 있습니다.

<PageMap>
  <DataObject type="product">
    <Attribute name="description">Programmable Search Engine provides customized search engines</Attribute>
  </DataObject>
</PageMap>

다음 제한사항을 적용하면 '검색'에 관한 product-description 속성이 있는 모든 페이지를 찾을 수 있습니다.

[more:pagemap:product-description:search]

텍스트 값을 토큰화하는 추가 규칙:

  • 제한을 위해 텍스트 값이 소문자로 변환됩니다.
  • 최대 6개 토큰 길이의 문자열에는 전체 문자열에 대한 추가 제한이 생성되고 공백이 _로 대체(예: please_attend)됩니다.
  • 중지 단어, 즉 the, a, 와 같은 단어에는 별도로 제한이 생성되지 않으며, 따라서 검색에 유용하지 않은 단어는 생성되지 않습니다. 따라서 텍스트 값 'the main point'는 main, point, the_main_point에 관한 제한을 생성하지만 the에 대한 제한을 생성하지는 않습니다.
  • 텍스트 값의 처음 10개 단어만 양식 제한을 만드는 데 사용됩니다.
  • 구분 기호로 처리되지 않는 구두점 문자는 밑줄(_)로 변환됩니다.

여러 제한사항을 사용하여 토큰화된 값 자세히 살펴보기

더 자세히 살펴보려면 다른 제한사항을 추가할 수 있습니다. 예를 들어 검색엔진의 제품을 설명하는 페이지만 가져오려면 제한사항을 추가합니다.

[more:pagemap:product-description:search more:pagemap:product-description:engine]

more:pagemap: 제한사항의 순서는 중요하지 않습니다. 토큰은 속성 값에서 순서가 지정되지 않은 집합으로 추출됩니다.

이러한 제한사항은 기본적으로 AND로 결합되지만 OR 연산자와 결합하여 둘 중 하나의 제한과 일치하는 결과를 가져올 수도 있습니다. 예를 들어 다음은 검색 또는 게임에 관한 콘텐츠와 일치하는 검색입니다.

[more:pagemap:product-description:search OR more:pagemap:product-description:game]

토큰화의 한 가지 예외는 URL인 속성 값입니다. URL 토큰의 유용성은 한계가 있으므로 유효한 URL인 속성 값에서는 토큰을 생성하지 않습니다.

예를 들어 짧은 토큰이 함께 자주 발견되는 경우 프로그래밍 검색 엔진에서 이러한 토큰을 결합하여 슈퍼토큰을 만들 수 있습니다. 예를 들어 '대통령'과 '오바마' 토큰이 나란히 표시되는 경우가 많다면 프로그래밍 검색 엔진에서 '대통령_오바마'라는 슈퍼토큰을 만들 수 있습니다. 따라서 [more:pagemap:leaders-name:president_obama][more:pagemap:leaders-name:president AND more:pagemap:leaders-name:obama]와 동일한 결과를 반환합니다.

구두점을 기반으로 하는 토큰화의 또 다른 주요 예외는 숫자를 구분할 때의 슬래시 '/'입니다. 'NUMBER/NUMBER' 또는 'NUMBER/NUMBER/NUMBER' 형식의 속성 값은 인접한 단일 토큰으로 처리됩니다. 예를 들어 '3.5/5.0' 및 '09/23/2006'은 단일 토큰으로 처리됩니다. 예를 들어 값이 '2006/09/23'인 속성을 검색하려면 제한을 사용하세요.

[more:pagemap:birth-date:2006/09/23]

슬래시를 기반으로 한 조인은 슬래시가 공백 없이 숫자 사이에 있는 경우에만 작동합니다. 슬래시와 숫자 사이에 공백이 있으면 별도의 토큰이 생성됩니다. 또한 슬래시로 묶인 숫자는 정확히 일치해야 합니다. '속성으로 필터링' 연산자는 이러한 값을 분수나 날짜로 해석하지 않습니다. 프로그래밍 검색 엔진의 다른 구조화된 검색 연산자(예: 속성별 정렬범위로 제한)는 이러한 숫자를 분수와 날짜로 해석합니다. 자세한 내용은 구조화된 데이터 제공에 관한 문서를 참고하세요.

맨 위로

JSON-LD에서 제한

JSON-LD는 구조화된 데이터의 강력한 표준 형식입니다. 데이터는 JSON 형식으로 지정되며 type="application/ld+json"가 포함된 <script> 태그에 배치됩니다.

다음은 간단한 JSON-LD를 사용한 최소한의 HTML입니다.

<script type="application/ld+json">
      {
        "@id": "http://event.example.com/events/presenting-foo",
        "@type": "http://schema.org/AggregateRating",
        "http://schema.org/ratingCount": "22",
        "http://schema.org/ratingValue": "4.4",
        "http://schema.org/itemReviewed": {
          "@type": "http://schema.org/Event",
          "http://schema.org/description": "Please attend.",
          "http://schema.org/name": "Presenting Foo",
          "http://schema.org/startdate": "2022-05-24",
          "http://schema.org/location": "Back room"
        }
      }
</script>

다음과 같은 제한이 적용됩니다.

  • more:pagemap:aggregaterating-ratingcount:22
  • more:pagemap:aggregaterating-ratingvalue:4.4
  • more:pagemap:aggregaterating-itemreviewed-event-description:please_attend
  • more:pagemap:aggregaterating-itemreviewed-event-description:please
  • more:pagemap:aggregaterating-itemreviewed-event-description:attend
  • more:pagemap:aggregaterating-itemreviewed-event-name:presenting_foo
  • more:pagemap:aggregaterating-itemreviewed-event-name:presenting
  • more:pagemap:aggregaterating-itemreviewed-event-name:foo
  • more:pagemap:aggregaterating-itemreviewed-event-startdate:2022-05-24
  • more:pagemap:aggregaterating-itemreviewed-event-location:back_room
  • more:pagemap:aggregaterating-itemreviewed-event-location:back
  • more:pagemap:aggregaterating-itemreviewed-event-location:room

JSON-LD의 경우 루트에서 전체 경로에 관한 제한만 생성합니다. 브랜치로 필터링을 참고하세요. 그러나 JSON-LD 트리의 루트에는 하위 요소로 리프 노드가 있으며 결과 제한은 속성 제한과 동일한 형식을 취합니다. 위 예에서 제한 중 일부는 루트의 리프 노드에서 구성되며 more:pagemap:aggregaterating-ratingcount:22와 같이 속성 제한의 (type-name-value) 형식을 취합니다.

참고: 다른 구조화된 데이터 형식에서는 최대 128바이트의 문자열을 허용하지만 JSON-LD의 경우 모든 문자열이 약 50자로 잘리므로 문자열이 단어 중간에서 끝나지 않습니다. 단어 길이에 따라 문자열에서 생성되는 토큰 수가 한도보다 보다 엄격하게 10개 토큰으로 제한될 수 있습니다.

맨 위로

속성별 정렬

특정 유형의 검색결과로 검색을 제한하는 것만으로는 충분하지 않은 경우도 있습니다. 예를 들어 음식점 리뷰를 검색할 때 가장 높은 평점을 받은 식당이 목록 상단에 표시되기를 원할 수 있습니다. 프로그래매틱 검색엔진의 속성별 정렬 기능을 사용하면 구조화된 데이터 속성 값에 따라 결과 순서가 변경됩니다. 정렬은 프로그래밍 검색 엔진의 요청 URL에 &sort=TYPE-NAME:DIRECTION URL 매개변수를 추가하여 활성화됩니다. 구조화된 검색과 마찬가지로 속성별 정렬은 페이지의 구조화된 데이터에 따라 달라집니다. 그러나 구조화된 검색과 달리 정렬에서는 필드가 숫자나 날짜와 같이 숫자로 해석되어야 합니다.

가장 간단한 형태로는 페이지 맵의 데이터 객체 유형 및 속성 이름을 기반으로 구조화된 데이터 유형을 지정하고 요청 URL에 &sort=TYPE-NAME로 추가합니다. 예를 들어 date 유형과 이름 sdate로 데이터를 나타내는 페이지에서 날짜별로 정렬하려면 다음 구문을 사용합니다.

https://www.google.com/cse?cx=000525776413497593842:aooj-2z_jjm&q=comic+con&sort=date-sdate

기본적으로 내림차순으로 정렬이 실행됩니다. 즉, 검색 결과는 날짜순으로 엄격하게 정렬되며 가장 최근 날짜 (가장 큰 숫자로 변환됨)가 먼저 정렬됩니다. 정렬 순서를 오름차순으로 변경하려면 필드에 :a를 추가하거나 :d을 추가하여 내림차순을 명시적으로 지정합니다. 예를 들어 가장 오래된 결과를 먼저 표시하려면 다음과 같은 형식의 제한을 사용할 수 있습니다.

https://www.google.com/cse?cx=000525776413497593842:aooj-2z_jjm&q=comic+con&sort=date-sdate:a

엔진에서 정렬된 결과는 해당 DataObject 및 속성에 대한 페이지 지도 내 페이지 값을 기준으로 표시됩니다. PageMaps, 해당 DataObject 유형 또는 해당 속성의 파싱 가능한 값이 없는 페이지는 하드 정렬로 표시되지 않습니다. 위 예에서 date-sdate 속성이 없는 페이지는 결과에 표시되지 않습니다. 하드 정렬은 다음 섹션에서 설명하는 속성별 편향 기능과 결합할 수 없지만, 속성별 필터링범위로 제한과 결합할 수 있습니다.

맨 위로

속성별 편향

값이 없는 결과를 제외하고 싶지 않을 때도 있습니다. 예를 들어 레바논 요리를 검색하려고 할 때 순수 레바논식 (가장 관련성이 높은 레스토랑)부터 그리스어 (가장 관련성이 낮은 레스토랑)까지 다양한 레스토랑이 일치할 수 있습니다. 이 경우 강하거나 약한 편향을 사용할 수 있습니다. 이 방법은 가치가 있는 결과를 강하게 또는 약하게 홍보하지만 이러한 결과가 없는 결과는 제외하지 않습니다. 정렬 방향 뒤에 두 번째 값을 추가하여 강하거나 약한 편향을 지정합니다. &sort=TYPE-NAME:DIRECTION:STRENGTH(강한 편향의 경우 :s, 약한 편향의 경우 :w, 하드 정렬의 경우 :h(기본값은 선택사항이지만 :h 추가) 예를 들어 강한 편향을 추가하면 평점이 가장 높은 지중해식 식당의 실적이 가장 낮은 지중해식 레스토랑보다 높은 실적을 거둘 수는 있지만, 레바논 음식점의 일치검색 결과보다 높은 순위를 얻을 수는 없습니다.

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-rating:d:s

여러 편향은 쉼표 연산자를 사용하여 조합할 수 있습니다.

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-rating:d:s,review-pricerange:d:w

편향의 순서는 중요하지 않습니다. 그러나 하드 정렬은 엄격한 순서를 사용하므로 다른 정렬과 결합할 수 없습니다. 목록에서 지정한 마지막 정렬 연산자는 이전의 모든 정렬 및 편향 연산자를 재정의합니다.

맨 위로

범위로 제한

값 범위 사이 또는 값 위 또는 아래에 있는 결과를 포함하려면 범위 제한을 사용합니다. 범위 제한은 속성 이름에 추가되는 :r로 지정되고 그 뒤에 속성 값의 상한값 및 하한값이 &sort=TYPE-NAME:r:LOWER:UPPER로 지정됩니다. 예를 들어 2009년 3월과 4월 사이에 작성된 리뷰만 포함하려면 범위 제한을 다음과 같이 지정합니다.

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-date:r:20090301:20090430

Restrict to Range 연산자의 경우 Google은 부동 소수점 형식의 숫자와 대시 없이 ISO 8601 YYYYMMDD의 날짜를 지원합니다.

상한 또는 하한은 지정하지 않아도 됩니다. 예를 들어 2009년 이전의 날짜만 지정하려면 다음과 같이 작성할 수 있습니다.

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-date:r::20091231

별표 3개 이상의 평점만 포함하려면 다음을 사용하세요.

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars:r:3.0

범위는 포괄적이며, 쉼표 연산자와 함께 사용하거나 한 정렬 또는 하나 이상의 편향 기준과 함께 사용할 수 있습니다. 범위 제한을 정렬 및 편향 기준과 결합하면 범위 내의 값이 있는 항목만 정렬됩니다. 예를 들어 별표가 3개 이상인 항목만 평가하여 정렬하려면 다음을 사용합니다.

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars,rating-stars:r:3.0

하나의 기준을 정렬하고 다른 기준에 대해 범위별로 제한할 수 있습니다. 예를 들어 10월에 검토한 항목만 평점으로 정렬하려면 다음을 사용합니다.

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars,review-date:r:20101001:20101031

이미지 검색

검색엔진에 이미지 검색을 사용하도록 설정하면 Google에서 별도의 탭에 이미지 검색결과를 표시합니다. 프로그래밍 검색 엔진 제어판을 사용하거나 context.xml 파일을 업데이트하여 이미지 검색을 활성화할 수 있습니다.

이미지 검색은 Google이 사이트를 크롤링할 때 발견한 정보에 의존합니다. 이미지가 검색결과에 표시되는 방식을 개선하려면 (프로그래밍 검색 엔진 및 Google 웹 검색에서 모두) Google의 이미지 게시 가이드라인을 숙지하는 것이 좋습니다.

이미지 속성으로 필터링

웹 검색과 마찬가지로 이미지 검색은 src, alt, title와 같은 속성에 대한 필터링을 지원합니다.

맨 위로

프로그래밍 검색 요소의 구조화된 검색

구조화된 검색 기능은 Google 프로그래밍 검색 요소와 함께 사용할 수도 있습니다. 쿼리 또는 URL 매개변수에 표현된 연산자와 마찬가지로 요소의 구조화된 검색을 사용하려면 먼저 검색 대상 페이지를 검색하려는 속성으로 마크업해야 합니다. 그런 다음 프로그래밍 검색 요소의 sort 연산자와 쿼리의 more:pagemap: 연산자가 검색결과를 적절하게 정렬하거나 제한합니다.

예를 들어 캘리포니아 뉴스 포털인 SignOnSanDiego.com은 프로그래밍 검색 요소를 사용하여 결과에서 사진과 함께 최근 기사를 렌더링합니다.

SignOnSanDiego는 독자들이 가장 관련성이 높은 뉴스뿐 아니라 시기적절한 뉴스를 볼 수 있도록 최근 게시일을 기준으로 '강한' 가중치로 속성별 편향을 사용합니다. SignOnSanDiego는 PageMaps를 사용하여 이러한 날짜 속성을 구현합니다. SignOnSanDiego에서 사용하는 날짜 속성은 다음과 같습니다.

<!--
  <PageMap>
    <DataObject type="date">
      <Attribute name="displaydate" value="Wednesday, August 25, 2010"/>
      <Attribute name="sdate" value="20100825"/>
    </DataObject>

    <DataObject type="thumbnail">
      <Attribute name="src" value="http://media.signonsandiego.com/img/photos/2010/08/25/635a63e9-f4a1-45aa-835a-ebee666b82e0news.ap.org_t100.jpg"/>
      <Attribute name="width" value="100"/>
    </DataObject>
  </PageMap>
  -->

이 필드에 속성별 정렬을 적용하려면 아래와 같이 프로그래밍 검색 요소의 검색 코드에서 sort 옵션을 설정합니다.

...
<div class="gcse-search" sort_by="date-sdate:d:s"></div>
...

위에 설명된 URL &sort= 매개변수와 마찬가지로 프로그래밍 검색 요소 <div class="gcse-search" sort_by="date-sdate:d:s"></div>의 정렬 옵션은 date-sdate와 같은 결합된 속성 이름과 콜론으로 구분된 여러 선택적 매개변수를 사용합니다. 이 경우 SignOnSanDiego는 연산자의 강력한 편향 s를 사용하여 d 내림차순 정렬을 지정했습니다. 한정자를 제공하지 않으면 기본값은 URL 연산자의 경우와 마찬가지로 하드 정렬과 함께 내림차순을 사용하는 것입니다.

정렬 옵션을 사용하면 범위별 제한 기능도 사용할 수 있습니다. 예를 들어 SignOnSanDiego와 같은 사이트에서는 사용자가 2010년 8월 25일부터 9월 9일 사이에 게시된 기사를 검색할 수 있습니다. 이렇게 구현하려면 정렬 옵션을 date-sdate:r:20100825:20100907로 설정하면 됩니다. 이번에도 결합된 속성 이름 date-sdate가 사용되지만 지정된 값 20100825:20100907의 범위 r로 제한됩니다. URL 매개변수와 마찬가지로 프로그래밍 검색 요소의 sort 옵션에서 범위의 상위 또는 하위 항목을 생략할 수 있습니다.

정렬 옵션의 또 다른 강력한 기능은 속성별 정렬과 범위별 제한을 결합할 수 있다는 것입니다. 정렬 옵션에서 쉼표를 사용하여 여러 연산자를 결합할 수 있습니다. 예를 들어 SignOnSanDiego의 강력한 편향을 위의 날짜 제한과 결합하려면 date-sdate:d:s,date-sdate:r:20100825:20100907를 지정합니다. 이 기능은 고유한 속성을 결합할 수 있습니다. 예를 들어 영화 리뷰 사이트에는 지난 주 내에 출시된 가장 높은 평점의 영화를 review-rating,release-date:r:20100907: 옵션을 통해 표시할 수 있습니다.

지원되는 모든 속성은 이 페이지를 참고하세요.

프로그래밍 검색 요소에서 속성별 필터링을 사용할 수도 있습니다. 예를 들어 linked-blog 속성이 있는 페이지가 포함된 이전 예를 살펴보겠습니다. 다음 코드를 사용하여 모든 쿼리에 more:pagemap:linked-blog:blogspot 연산자를 삽입하도록 연결된 페이지만 반환하는 커스텀 검색 컨트롤을 만들려면 다음 안내를 따르세요.

...
<div class="gcse-search" webSearchQueryAddition="more:pagemap:linked-blog:blogspot"></div>
...

이 방법은 이 컨트롤에서 실행된 모든 쿼리에 제한을 추가하므로 비교적 유연하지 않습니다. 다른 옵션을 보려면 프로그래밍 검색 요소에 관한 문서를 참고하세요.

맨 위로

기타 기능 탐색

구조화된 검색 기능은 검색 애플리케이션을 상당 부분 제어할 수 있는 강력한 옵션 모음이며, 이를 통해 맞춤 속성을 사용하여 사용자에게 매우 강력한 방식으로 검색결과를 정렬하고 제한할 수 있습니다. 구조화된 검색은 맞춤 결과 스니펫과 같은 다른 프로그래밍 검색 엔진 기능과도 잘 호환됩니다. 추가 정보: