您可以在搜尋要求中指定提升條件,藉此在搜尋結果中升級或降級特定文件。當文件符合指定條件時,系統會套用加權值,並據此排序結果。您也可以指定自訂數值和時間戳記值,根據熱門程度和新鮮度等參數排序結果。
搜尋要求中的增強規格與附加至供應設定的增強控制項不同。boostSpec
欄位中的升幅規格會覆寫服務設定 boostAction
欄位中定義的升幅控制項。如要進一步瞭解升級控制項,請參閱「關於升級控制項」。
本頁面說明下列類型的升級規格:
您可以將這些提升規格套用至查詢媒體搜尋應用程式,以及包含結構化、非結構化和網站資料的自訂搜尋應用程式。這些規格不適用於醫療照護搜尋應用程式。
以固定條件提升
如要根據結果是否符合條件,以固定金額提高排名,請按照下列步驟操作:
傳送
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
}
}
}
使用自訂數值屬性提升
您可以指定控制點和對應的升幅值,以分段線性方式,根據自訂數值屬性提升成效。
如要使用自訂數值屬性指定升幅規格,請按照下列步驟操作:
傳送
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 |
根據新鮮度提升排名
您可以指定控制點及其對應的提升值,根據日期時間屬性以分段線性方式提升結果。
如要使用自訂日期時間屬性指定升幅規格,請按照下列步驟操作:
傳送
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
資料類型中的時間長度值,決定文件的有效期限。計算方式為搜尋執行時間與文件自訂日期時間屬性之間的時差。時間長度值必須按照 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 以下的升幅開始,可能會在頂端取得更多相關結果。