검색 결과 개선

검색 요청에서 부스트 조건을 지정하여 검색 결과에서 특정 문서 순위를 올리거나 내릴 수 있습니다. 문서가 지정된 조건을 충족하면 부스트 값이 문서에 적용되고 결과가 그에 따라 정렬됩니다. 인기도 및 신선도와 같은 파라미터를 기반으로 결과를 정렬할 수 있게 해주는 커스텀 숫자 값과 타임스탬프 값도 지정할 수 있습니다.

검색 요청의 부스트 사양은 서빙 구성에 연결된 부스트 제어와 다릅니다. boostSpec 필드의 부스트 사양은 서빙 구성의 boostAction 필드에 정의된 부스트 제어를 재정의합니다. 부스트 제어에 대한 자세한 내용은 부스트 제어 정보를 참조하세요.

이 페이지에서는 다음과 같은 유형의 부스트 사양을 설명합니다.

이러한 부스트 사양을 정형 데이터, 비정형 데이터, 웹사이트 데이터가 포함된 미디어 검색 앱과 일반 검색 앱을 쿼리하는 데 적용할 수 있습니다. 이 사양은 의료 검색 앱에는 적용되지 않습니다.

고정된 조건을 사용하는 부스트

조건을 충족하는지 여부에 따라 고정된 양만큼 결과를 부스팅하려면 다음을 수행합니다.

  1. servingConfigs.search 요청을 보낼 때 boostSpec 필드에 부스트 사양을 지정합니다.

    {
      "boostSpec": {
        "conditionBoostSpecs": {
          "condition": "BOOST_CONDITION",
          "boost": BOOST_VALUE
        }
      }
    }
    

    사양에는 다음 파라미터가 포함됩니다.

    • BOOST_CONDITION: 텍스트 필터 표현식으로, 부스트를 적용할 문서를 선택합니다. 필터는 불리언 값으로 평가되어야 합니다.
    • BOOST_VALUE: -1~1 사이의 부동 소수점 숫자입니다. 값이 음수이면 결과가 강등되어 결과 하단에 표시됩니다. 값이 양수이면 결과가 승격하여 결과 상단에 표시됩니다.

사용 사례

데이터 스토어에 호텔 및 별점 평점에 대한 데이터가 포함되어 있다고 가정해 보겠습니다. 별점 평점이 3개 이상인 호텔을 부스팅하려고 합니다. 별표 평점은 star_rating 숫자 필드에서 제공됩니다. boostSpec에서 conditionstar_rating >= 3.0으로 지정하고 부스트 값을 0.7로 지정하여 star_rating이 3.0 이상인 모든 호텔을 같은 양만큼 부스팅할 수 있습니다.

{
  "boostSpec": {
    "conditionBoostSpecs": {
      "condition": "star_rating>=3.0",
      "boost": 0.7
    }
  }
}

커스텀 숫자 속성을 사용하는 부스트

제어점과 해당하는 부스트 값을 지정하여 조각별 선형 방식으로 커스텀 숫자 속성에 따라 결과를 부스팅할 수 있습니다.

커스텀 숫자 속성을 사용하여 부스트 사양을 지정하려면 다음을 수행합니다.

  1. servingConfigs.search 요청을 보낼 때 boostSpec 필드에 부스트 사양을 지정합니다.

    {
      "boostSpec": {
        "conditionBoostSpecs": {
            "condition": "BOOST_CONDITION",
            "boostControlSpec": {
              "attributeType": "NUMERICAL",
              "interpolationType": "LINEAR",
              "fieldName": "CUSTOM_ATTRIBUTE_FIELD_NAME",
              "controlPoints": [
                {
                  "attributeValue": "CUSTOM_ATTRIBUTE_VALUE_1",
                  "boostAmount": BOOST_AMOUNT_1
                },
                {
                  "attributeValue": "CUSTOM_ATTRIBUTE_VALUE_2",
                  "boostAmount": BOOST_AMOUNT_2
                }
              ]
            }
        }
      }
    }
    

    사양에는 다음 파라미터가 포함됩니다.

    • BOOST_CONDITION: 텍스트 필터 표현식으로, 부스트를 적용할 문서를 선택합니다. 필터는 불리언 값으로 평가되어야 합니다.
    • CUSTOM_ATTRIBUTE_FIELD_NAME: 값에서 부스트 양을 결정하는 커스텀 숫자 속성의 필드 이름입니다.
    • CUSTOM_ATTRIBUTE_VALUE: 문자열 데이터 유형이 있는 지정된 제어점에 대한 커스텀 속성의 숫자 값입니다. 예를 들면 "3.3" 또는 "12"입니다. 자세한 내용은 ControlPoint를 참조하세요.
    • BOOST_AMOUNT: 지정된 제어점의 커스텀 속성에 매핑된 부스트 양입니다.

검색 결과의 문서가 지정된 조건을 충족하면 부스트 양이 다음과 같이 적용됩니다.

속성 값 부스트 양
첫 번째 제어점보다 작음 첫 번째 제어점의 부스트 양과 같음
제어점과 같음 매핑된 부스트 양과 같음
제어점 간 선형 보간법으로 계산됨
마지막 제어점보다 큼 마지막 제어점의 부스트 양과 같음

사용 사례

데이터 스토어에 호텔 및 별점 평점에 대한 데이터가 포함되어 있다고 가정해 보겠습니다. 별표 평점에 따라 호텔 검색 결과를 부스팅하려고 합니다. 다음과 같이 부스트 사양을 정의할 수 있습니다.

{
  "boostSpec": {
    "conditionBoostSpecs": {
        "condition": "star_rating >= 3.0",
        "boostControlSpec": {
          "attributeType": "NUMERICAL",
          "interpolationType": "LINEAR",
          "fieldName": "star_rating",
          "controlPoints": [
            {
              "attributeValue": "3.5",
              "boostAmount": 0.25
            },
            {
              "attributeValue": "4.0",
              "boostAmount": 0.30
            },
            {
              "attributeValue": "4.5",
              "boostAmount": 0.32
            }
          ]
        }
    }
  }
}

이 시나리오에서는 검색 결과가 다음과 같이 부스팅됩니다.

별표 평점 부스트 양
3.5 이하 0.25
3.5~4.0 선형 보간법으로 계산된 0.25~0.30
4.0과 같음 0.30
4.0~4.5 선형 보간법으로 계산된 0.30~0.32
4.5 이상 0.32

신선도에 따른 부스트

제어점과 해당하는 부스트 값을 지정하여 조각별 선형 방식으로 날짜/시간 속성에 따라 결과를 부스팅할 수 있습니다.

커스텀 날짜/시간 속성을 사용하여 부스트 사양을 지정하려면 다음을 수행합니다.

  1. servingConfigs.search 요청을 보낼 때 boostSpec 필드에 부스트 사양을 지정합니다.

    {
      "boostSpec": {
        "conditionBoostSpecs": {
            "condition": "BOOST_CONDITION",
            "boostControlSpec": {
              "fieldName": "DATETIME_FIELD_NAME",
              "attributeType": "FRESHNESS",
              "interpolationType": "LINEAR",
              "controlPoints": [
                {
                  "attributeValue": "DURATION_VALUE_1",
                  "boostAmount": BOOST_AMOUNT_1
                },
                {
                  "attributeValue": "DURATION_VALUE_2",
                  "boostAmount": BOOST_AMOUNT_2
                }
              ]
            }
        }
      }
    }
    

    사양에는 다음 파라미터가 포함됩니다.

    • BOOST_CONDITION: 텍스트 필터 표현식으로, 부스트를 적용할 문서를 선택합니다. 필터는 불리언 값으로 평가되어야 합니다.
    • DATETIME_FIELD_NAME: 게시 날짜 또는 마지막 업데이트 날짜와 같은 커스텀 DATETIME 속성이나 사전 정의된 Google 추론 속성(예: datePublished)의 필드 이름입니다.
    • DURATION_VALUE: 문서 신선도를 결정하는 dayTimeDuration 데이터 유형의 기간 값입니다. 이는 검색이 수행된 날짜/시간과 문서의 커스텀 날짜/시간 속성의 날짜/시간 사이의 기간으로 계산됩니다. 기간 값은 [nD][T[nH][nM][nS]] 패턴의 ISO 8601 형식에 따라 지정되어야 합니다. 예를 들어 2024년 1월 1일부터 2024년 3월 1일까지의 기간을 59D로 표현할 수 있습니다. 마찬가지로 2.5일 기간을 2DT12H로 표현할 수 있습니다. 자세한 내용은 ControlPoint를 참조하세요.
    • BOOST_AMOUNT: 지정된 제어점의 커스텀 날짜/시간 속성에 매핑된 부스트 양입니다.

검색 결과의 문서가 지정된 조건을 충족하면 부스트 양이 다음과 같이 적용됩니다.

기간 값 부스트 양
첫 번째 제어점보다 작음 첫 번째 제어점의 부스트 양과 같음
지정된 제어점과 같음 매핑된 부스트 양과 같음
제어점 간 선형 보간법으로 계산됨
마지막 제어점보다 큼 마지막 제어점의 부스트 양과 같음

커스텀 날짜/시간 속성을 사용하는 사용 사례 예시

각 문서에 게시일이 있는 정형 데이터가 데이터 스토어에 포함되어 있다고 가정해 보겠습니다. 신선도에 따라 검색 결과를 부스팅하려고 합니다. 다음과 같이 부스트 사양을 정의할 수 있습니다.

{
  "boostSpec": {
    "conditionBoostSpecs": {
        "condition": true,
        "boostControlSpec": {
          "fieldName": "publication_date",
          "attributeType": "FRESHNESS",
          "interpolationType": "LINEAR",
          "controlPoints": [
            {
              "attributeValue": "7D",
              "boostAmount": 0.40
            },
            {
              "attributeValue": "30D",
              "boostAmount": 0.37
            },
            {
              "attributeValue": "60D",
              "boostAmount": 0.32
            },
            {
              "attributeValue": "90D",
              "boostAmount": 0
            }
          ]
        }
    }
  }
}

이 시나리오에서는 검색 결과가 다음과 같이 부스팅됩니다.

최신 정보 부스트 양
7일 이하 0.40
7~30일 선형 보간법으로 계산된 0.40~0.37
30일과 같음 0.37
30~60일 선형 보간법으로 계산된 0.37~0.32
60일과 같음 0.32
60~90일 선형 보간법으로 계산된 0.32~0.0
90일 이상 0.0

Google 추론 페이지 날짜를 사용하는 사용 사례 예시

웹사이트 데이터 스토어의 웹페이지를 통해 크롤링하면 Google은 콘텐츠에 적용되는 속성을 사용하여 페이지 데이터를 추론합니다. Vertex AI Search는 이러한 추론된 페이지 데이터 속성을 스키마에 추가합니다. 이 추론된 데이터에는 다음과 같은 사전 정의된 날짜 속성이 포함됩니다.

  • datePublished: 페이지가 처음 게시된 날짜와 시간입니다.
  • dateModified: 페이지가 마지막으로 수정된 날짜와 시간입니다.

이러한 속성에는 자동으로 색인이 생성됩니다. 이러한 날짜 속성을 스키마에 추가하지 않고도 직접 사용하여 검색을 보강할 수 있습니다. 이러한 사전 정의된 속성을 사용하여 페이지를 부스팅할 수 있습니다. 예를 들어 다음과 같이 fieldName 필드를 pageModified로 설정하여 부스트 사양을 정의할 수 있습니다.

{
  "boostSpec": {
    "conditionBoostSpecs": {
        "condition": true,
        "boostControlSpec": {
          "fieldName": "dateModified",
          "attributeType": "FRESHNESS",
          "interpolationType": "LINEAR",
          "controlPoints": [
            {
              "attributeValue": "7D",
              "boostAmount": 0.35
            },
            {
              "attributeValue": "30D",
              "boostAmount": 0.30
            }
          ]
        }
    }
  }
}

Google은 최선의 방식으로 이러한 날짜를 추론하며 추론된 날짜가 실제 날짜와 일치하지 않을 수 있습니다. 이러한 필드는 Google의 신뢰도가 높은 경우에만 채워집니다. 이러한 날짜 값이 누락되면 이러한 필드는 null 허용 필드가 됩니다.

권장사항에 따라 도메인 소유자나 웹사이트 관리자가 웹페이지의 이러한 속성을 업데이트하고 업데이트한 후에 Vertex AI Search 웹사이트 데이터 스토어를 수동으로 새로고침하는 것이 좋습니다. 자세한 내용은 웹페이지에 가장 적합한 날짜를 Google 검색에 알려주세요 블로그 게시물을 참조하고 Google 검색에서 정형 데이터가 작동하는 방식을 알아보세요.

색인을 보강하기 위해 커스텀 정형 데이터 속성을 추가하려면 데이터 스토어 스키마에 커스텀 정형 데이터 속성 추가를 참조하세요.

관련성 필터로 부스트 양 조절

키워드 일치, 문맥 일치, 관련성과 같은 결과 순위에 영향을 미치는 요인 외에도 부스트 조건이 결과 순위에 큰 영향을 미칩니다. 따라서 특히 관련성 필터와 함께 boostSpec 필드를 사용할 때는 부스트 양을 신중하게 보정해야 합니다. 관련성 필터에 대한 자세한 내용은 문서 수준 관련성으로 검색 필터링을 참조하세요.

게시일이 서로 다른 문서가 여러 개 있다고 가정해 보겠습니다. 특정 쿼리의 경우 다음 표에는 부스트 양이나 관련성 필터를 구현하지 않은 절대 순위와 쿼리할 문서의 관련성을 나타냅니다.

문서 게시일 관련성 순위
A 2024년 2월 1일 높음 #1
B 2024년 3월 1일 높음 #2
C 2024년 4월 1일 가장 낮음 #3
D 2024년 5월 1일 보통 #4
E 2024년 6월 1일 낮음 #5

2024년 6월 6일에 다음 검색 조건을 검색 요청에 추가합니다.

  • 관련성 필터가 LOW로 설정됩니다.
  • 지난 31일 동안 게시된 문서는 0.7 값으로, 1주일 이상 지났지만 60일 미만인 문서는 0.6 값으로 부스팅되는 부스트 값입니다.

검색 출력에서 먼저 관련성을 기준으로 결과가 필터링된 후 부스트 양이 적용됩니다. 따라서 적용된 조건에 따라 결과에서 페이지 순위가 다음과 같이 변경됩니다.

문서 게시일 관련성 순위
E 2024년 6월 1일 낮음 #1
D 2024년 5월 1일 보통 #2
A 2024년 2월 1일 높음 #3
B 2024년 3월 1일 높음 #4

관련성 필터로 인해 관련성이 가장 낮은 결과가 필터링됩니다. 쿼리와 관련성이 낮은 문서는 큰 부스트 양으로 부스팅되므로 최상위 결과로 순위가 결정됩니다. 관련성이 높을수록 순위가 낮아집니다.

따라서 부스트 양을 정확한 낮은 값부터 시작하고 검색 출력에 따라 값을 조정하는 것이 좋습니다. 이 예시에서는 부스트 양을 0.1 이하로 시작하면 상단에 관련성이 높은 결과가 표시될 수 있습니다.

다음 단계

  • boostSpec 필드에 부스트 사양을 사용하여 검색 요청을 수행하세요.
  • 일반 검색 앱의 검색 품질에 대한 부스트 영향을 파악하려면 검색 품질을 평가하세요. 자세한 내용은 검색 품질 평가를 참조하세요.