共用方式為


在搜尋結果中設定語意設定優先權,並傳回標題文字

本文說明如何設定搜尋索引以進行語意重新撰寫。

語意排名會逐一查看初始結果集,並套用 L2 排名方法,將最語意上相關的結果提升至堆疊頂端。 您也可以取得語意標題,其中反白顯示最相關的字詞和片語,以及語意答案

必要條件

  • 基本層或更高層級的搜尋服務,受限於 區域可用性

  • 在您的搜尋服務上啟用語意排名工具。

  • 具有 RTF 內容的現有搜尋索引。 語意排名適用於字串(非函式)字段,最適合資訊性或描述性的內容。

選擇用戶端

您可以使用下列任何工具和 SDK 來新增語意設定:

新增語意設定

語意設定是索引中的區段,用於建立語意排名的欄位輸入。 您無須重建,即可隨時新增或更新語意設定。 若您建立多個設定,則可以指定預設值。 在查詢時,請在查詢要求上指定語意設定,或將其留空以使用預設值。

語意設定具有名稱和下列屬性:

屬性 特性
[標題] 欄位 簡短字串,最好少於 25 個字。 此欄位可以是文件標題、產品名稱或唯一識別碼。 若您沒有適當的欄位,請將其留空。
內容欄位 自然語言形式的較長文字區塊,受限於機器學習模型中的最大語彙基元輸入限制。 常見範例包括文件本文、產品說明或其他自由格式的文字。
關鍵字欄位 關鍵字清單,例如文件中的標籤,或描述性字詞,例如項目的類別。

您只能指定一個標題欄位,但可以隨意指定多個內容和關鍵字欄位。 對於內容和關鍵字欄位,請依優先順序列出欄位,因為優先順序較低的欄位可能會遭到截斷。

在所有語意設定屬性中,您指派的欄位必須是:

  • 屬性為 searchableretrievable
  • Edm.StringCollection(Edm.String) 類型的字串,Collection(Edm.ComplexType) 的字串子欄位
  1. 登入 [Azure 入口網站] 並瀏覽至已啟用語意排名的搜尋服務。

  2. 從左側瀏覽窗格的 [索引] 中,開啟索引。

  3. 選取 [語意設定] ,然後選取 [新增語意設定]

    [新增語意設定] 頁面隨即開啟,其中包含選取標題欄位、內容欄位以及關鍵字欄位的選項。 只有可搜尋和可擷取的字串欄位才符合資格。 請務必依優先順序列出內容欄位及關鍵字欄位。

    顯示如何在 Azure 入口網站 中建立語意設定的螢幕快照。

    選取 [確定] 儲存變更。

從預覽版本移轉

如果您的語意排名程式碼使用預覽 API,本節將說明如何移轉至穩定版本。 您可以檢查變更記錄,以驗證是否正式發行:

行為變更:

  • 自 2023 年 7 月 14 日起,語意排名工具不受語言限制。 該工具可以對由多語言內容組成的結果重新排名,且不偏向特定語言。 在預覽版本中,針對與欄位分析器所指定語言不同的結果,語意排名會降低其優先順序。

  • 在 2021-04-30-Preview 和所有更新版本中,針對以相同版本為目標的 REST API 和所有 SDK 套件:semanticConfiguration (在索引定義中) 定義哪些搜尋欄位用於語意排名。 先前在 2020-06-30-Preview REST API 中,searchFields (在查詢要求中) 用於欄位規格和優先順序。 此方法只能在 2020-06-30-Preview 中運作,在所有其他版本中已淘汰。

步驟 1:移除 queryLanguage

語意排名引擎現在不受語言限制。 如果在查詢邏輯中指定 queryLanguage,則其不再用於語意排名,但仍適用於拼字修正

如果您使用拼字檢查,且拼字檢查支援語言值,請保留 queryLanguage。 拼字檢查在不同語言中的可用性受限。

否則,請刪除 queryLanguage

步驟 2:以 semanticConfiguration 取代 searchFields

如果您的程式碼呼叫以該 REST API 版本為目標的 2020-06-30-Preview REST API 或搶鮮版 (Beta) SDK 套件,您可能會在查詢要求中使用 searchFields 來指定語意欄位和優先順序。 在初始搶鮮版 (Beta) 中,searchFields 具有雙重用途,將初始查詢限制為 searchFields 中列出的欄位,並在使用語意排名時設定欄位優先順序。 在更新版本中, searchFields 保留其原始用途,但不再用於語意排名。

如果您使用 searchFields 將全文檢索搜尋限制於具名欄位清單,請將其保留於查詢要求中。

請依照本文的指示,將 semanticConfiguration 新增至索引結構描述,以指定欄位優先順序。

下一步

透過執行語意查詢,測試您的語意設定。