在 Azure AI 搜尋服務 中設定新鮮度感知擷取(預覽)

Note

Azure AI 搜尋服務 可透過 Azure 入口網站、REST API 及 Azure SDK 取得。 它同時也是 Foundry IQ 的基礎,這是一個管理式知識層,能將企業內容轉化為可重複使用、權限感知的知識庫,供 Microsoft Foundry 入口網站中的代理使用。

Important

標記(預覽)的功能、能力或屬性不受服務等級協議涵蓋,也不建議用於生產工作負載,且在正式上架前可能會有所變動或受限。 Azure AI 搜尋服務 預覽條款適用於所有預覽功能,無論是獨立功能還是正式推出功能的一部分。

新鮮度感知檢索(預覽)可讓已建立索引的知識來源在代理式擷取期間優先採用較新的內容。 知識來源可以包含新鮮度政策,讓 Azure AI 搜尋服務 偏向近期文件排序,而不必要求呼叫者在每次檢索請求時都傳送自訂排名邏輯。

新鮮度是一種排名偏誤,而非硬性篩選。 舊文件在與查詢高度相關時仍可出現。

使用支援

Azure portal Microsoft Foundry 入口網站 .NET SDK Python SDK Java 開發套件 JavaScript SDK REST API
❌ ❌ ✔️ ✔️ ✔️ ✔️ ✔️

先決條件

  • 最新的 Azure.Search.Documents 預覽套件:dotnet add package Azure.Search.Documents --prerelease

  • 對於無鑰匙認證,套件如下 Azure.Identity : dotnet add package Azure.Identity

何時啟用新鮮度感知檢索

當新內容通常比舊內容更有用或更值得信賴時,啟用新鮮度感知檢索。 常見範例包括發布說明、政策更新、執行手冊、服務公告及營運指引。

不要用新鮮度來取代過濾。 如果查詢必須只返回特定日期範圍的內容,請在擷取請求或知識來源設定中使用過濾器。

設定新鮮度政策

在索引知識來源定義中新增新鮮性政策。 預覽版合約會使用原則套用感知近期性的排名訊號,同時保留擷取管線的其餘部分。

以下範例顯示具有新鮮度原則的 Blob 知識來源。

var knowledgeSource = new AzureBlobKnowledgeSource(
    name: "news-articles-ks",
    azureBlobParameters: new AzureBlobKnowledgeSourceParameters(connectionString: blobConnectionString, containerName: "news")
    {
        IngestionParameters = new IngestionParameters
        {
            FreshnessPolicy = new FreshnessPolicy
            {
                BoostingDuration = TimeSpan.FromDays(90)
            }
        }
    }
)
{
    Description = "A knowledge source for recent news articles."
};

await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);

Reference:AzureBlobKnowledgeSourceParameters

knowledge_source = AzureBlobKnowledgeSource(
    name="news-articles-ks",
    description="A knowledge source for recent news articles.",
    azure_blob_parameters=AzureBlobKnowledgeSourceParameters(
        connection_string=blob_connection_string,
        container_name="news",
        ingestion_parameters=IngestionParameters(
            freshness_policy=FreshnessPolicy(boosting_duration="P90D"),
        ),
    ),
)

index_client.create_or_update_knowledge_source(knowledge_source)

Reference:AzureBlobKnowledgeSourceParameters

PUT {{search-endpoint}}/knowledgesources/news-articles-ks?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "name": "news-articles-ks",
  "kind": "azureBlob",
  "description": "A knowledge source for recent news articles.",
  "azureBlobParameters": {
    "connectionString": "{{blob-connection-string}}",
    "containerName": "news",
    "ingestionParameters": {
      "freshnessPolicy": {
        "boostingDuration": "P90D"
      }
    }
  }
}

參考資料:知識來源 - 建立或更新

新鮮度政策是來源攝取參數的一部分。 索引結構描述會修改為支援產生的新鮮度欄位,該欄位與 Azure AI 搜尋服務評分設定檔新鮮度函式相容。 該 boostingDuration 數值使用與評分檔案新鮮度功能的相同 ISO 8601 持續時間格式,例如 P90D 以 90 天為單位。 新鮮度為排名增添了近期性訊號,但查詢相關性、已設定的檢索設定、語意重新排序及其他排名訊號仍然適用。

您可以透過傳送另一個含新值的建立或更新要求,變更現有知識來源上的 boostingDuration。 評分設定檔可就地更新,無需重新擷取資料。

你無法從現有的知識來源中移除新鮮度政策。 要停用新度感知檢索,請刪除知識來源並建立一個不含 freshnessPolicy的新來源。

驗證排名行為

新鮮度欄位會在擷取時產生,因此該原則會套用至在原則生效後擷取的內容。 內容擷取完成後,執行可回傳近期和較早內容的擷取請求。 成功的配置能更早顯示較新的相關文件,而不會讓檢索變成簡單的日期排序。

如果排名未如預期反映新鮮度,請檢查基礎索引中的 last_modified 欄位。 缺少、過期或不一致的日期會降低新鮮度訊號的品質。