提升搜尋結果

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

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

本頁面說明下列類型的升級規格:

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

以固定條件提升

如要根據結果是否符合條件,以固定金額提高排名,請按照下列步驟操作:

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

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

    規格包含下列參數:

    • BOOST_CONDITION文字篩選運算式,用於選取要套用加成的文件。篩選器必須評估布林值。
    • BOOST_VALUE:[-1,1] 範圍內的浮點數。如果值為負數,結果會遭到降級 (顯示在結果的較下方)。如果值為正數,結果就會獲得升級 (在結果中排名較高)。

用途範例

假設資料儲存庫包含飯店及其星級評等的資料。您想提高星級評等大於或等於三的飯店。星級評等會顯示在 star_rating 數值欄位中。您可以在 boostSpec 中將 star_rating >= 3.0 指定為 star_rating >= 3.0,並將升幅值設為 0.7,藉此為所有 star_rating 3.0 以上的飯店提供相同升幅。condition

{
  "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 資料類型中的時間長度值,決定文件的有效期限。計算方式為搜尋執行時間與文件自訂日期時間屬性之間的時差。時間長度值必須按照 ISO 8601 格式指定,模式為 [nD][T[nH][nM][nS]]。舉例來說,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 欄位中提出搜尋要求,並提供增強規格。
  • 如要瞭解提升功能對自訂搜尋應用程式搜尋品質的影響,請評估搜尋品質。詳情請參閱評估搜尋品質