提升搜尋結果

您可以在搜尋要求中指定增強條件,藉此提升或降低搜尋結果中的特定文件。當文件符合指定條件時,系統會套用提升值,並依此排序結果。您也可以指定自訂數值和時間戳記值,讓系統根據熱門程度和新鮮度等參數排序結果。

搜尋要求中的增強規格與附加至供應設定的增強控制項不同。boostSpec 欄位中的提升規格會覆寫服務設定 boostAction 欄位中定義的提升控制項。如要進一步瞭解加強控制項,請參閱「關於加強控制項」。

本頁面說明下列類型的加強規格:

您可以將這些加強功能規格套用至查詢媒體搜尋應用程式和自訂搜尋應用程式,這些應用程式含有結構化資料、非結構化資料和網站資料。這些規格不適用於醫療照護搜尋應用程式。

使用固定條件提升

如要根據結果是否符合條件,以固定金額提升結果,請執行下列操作:

  1. 傳送 servingConfigs.search 要求時,請在 boostSpec 欄位中指定增強規格。

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

    規格包含下列參數:

    • BOOST_CONDITION文字篩選運算式,用於選取要套用加強功能的文件。篩選器必須評估為布林值。
    • BOOST_VALUE:浮點數,範圍為 [-1,1]。如果值為負值,則結果會降級 (在結果中顯示在較下方)。如果值為正值,則會提升結果 (在結果中顯示在較前面的位置)。

用途範例

假設您的資料儲存庫包含飯店和飯店星級的資料。您想提升星級評等達到或高於三顆星的飯店。星級評分可在 star_rating 數值欄位中找到。您可以在 boostSpec 中將 condition 指定為 star_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:浮點數,範圍為 [-1,1]。如果值為負值,則結果會降級 (在結果中顯示在較下方)。如果值為正值,則會提升結果 (在搜尋結果中顯示在較前面的位置)。表示在特定控制點,已對應至自訂屬性的提升量。

當搜尋結果中的文件符合指定條件時,系統會套用以下加權金額:

屬性值 提升金額
低於第一個控制點 等於第一個控制點的加強幅度
等於控制點 等於對應的加強效果
在控制點之間 計算方式為線性內插
大於上一個控制點 等於最後一個控制點的加強幅度

用途範例

假設您的資料儲存庫包含飯店和飯店星級的資料。您希望飯店搜尋結果的比例與星級評分成正比。您可以按照下列方式定義加強規格:

{
  "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_VALUEdayTimeDuration 資料類型中的時間長度值,用於決定文件的新鮮度。計算方式為搜尋日期時間與文件自訂日期時間屬性的日期時間之間的時間長度。時長值必須按照 [nD][T[nH][nM][nS]] 模式的 ISO 8601 格式指定。舉例來說,2024 年 1 月 1 日至 2024 年 3 月 1 日之間的時間長度可以表示為 59D。同樣地,兩天半的時間長度可以用 2DT12H 表示。詳情請參閱「ControlPoint」。
    • BOOST_AMOUNT:浮點數,範圍為 [-1,1]。如果值為負值,則結果會降級 (在結果中顯示在較下方)。如果值為正值,則會提升結果 (在搜尋結果中顯示在較前面的位置)。表示為特定控制點對應至自訂日期時間屬性的提升量。

當搜尋結果中的文件符合指定條件時,系統會套用以下加權金額:

時間長度值 提升金額
低於第一個控制點 等於第一個控制點的加強幅度
等於指定的控制點 等於對應的加強效果
在控制點之間 計算方式為線性內插
大於上一個控制點 等於最後一個控制點的加強幅度

使用自訂日期時間屬性的用途範例

假設您的資料儲存庫包含結構化資料,其中每份文件都有發布日期。您希望搜尋結果的更新頻率與其新鮮度成正比。您可以按照下列方式定義加強規格:

{
  "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 有高度信心時,才會填入這些欄位。如果缺少這些日期值,這些欄位就會變成可為空值。

最佳做法是,Google 建議網域擁有者或網站管理員為網頁更新這些屬性,並在更新後手動重新整理 Vertex AI Search 網站資料儲存庫。如需更多資訊,請參閱「協助 Google 搜尋以最精確的方式理解網頁日期」網誌文章,並瞭解結構化資料在 Google 搜尋中的運作方式

如要新增自訂結構化資料屬性來豐富索引,請參閱「在資料儲存庫結構定義中新增自訂結構化資料屬性

加強幅度調整

除了影響結果排名的因素 (例如關鍵字比對、內容比對和關聯性) 之外,加強條件也會對結果排名造成重大影響。因此,您必須仔細調整加強幅度。Google 建議您一開始設定低且精確的加強幅度 (例如 0.1 以下),然後根據搜尋結果進行調整。

使用相關性篩選器的應用實例

搭配關聯性篩選器使用 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,而超過一週但未超過 60 天的文件會提升 0.6。

在搜尋輸出中,系統會先依關聯性篩選結果,然後套用加強次數。因此,套用的條件會以以下方式變更結果中網頁的排名:

文件 發布日期 關聯性 排名
E 2024 年 6 月 1 日 #1
D 2024 年 5 月 1 日 #2
A 2024 年 2 月 1 日 #3
B 2024 年 3 月 1 日 #4

系統會根據關聯性篩選器,篩除關聯性最低的結果。與查詢相關性較低的文件會被列為頂部結果,因為這些文件的加權量較高。關聯性較低的結果排名較低。

因此,Google 建議您從低精確值開始設定加強幅度,並根據搜尋結果調整值。在這個範例中,起始加強次數為 0.1 以下,可能會在頂端擷取更多相關結果。

後續步驟

  • boostSpec 欄位中使用加強規格提出搜尋要求
  • 如要瞭解提升功能對自訂搜尋應用程式的搜尋品質有何影響,請評估搜尋品質。詳情請參閱「評估搜尋品質」。