在搜尋結果中設定語意設定優先權,並傳回標題文字
本文說明如何設定搜尋索引以進行語意重新撰寫。
語意排名會逐一查看初始結果集,並套用 L2 排名方法,將最語意上相關的結果提升至堆疊頂端。 您也可以取得語意標題,其中反白顯示最相關的字詞和片語,以及語意答案。
必要條件
基本層或更高層級的搜尋服務,受限於 區域可用性。
在您的搜尋服務上啟用語意排名工具。
具有 RTF 內容的現有搜尋索引。 語意排名適用於字串(非函式)字段,最適合資訊性或描述性的內容。
選擇用戶端
您可以使用下列任何工具和 SDK 來新增語意設定:
- Azure 入口網站,使用索引設計工具新增語意設定。
- 搭配 REST 用戶端的 Visual Studio Code
- Azure SDK for .NET
- Azure SDK for Python
- Azure SDK for Java
- Azure SDK for JavaScript
新增語意設定
語意設定是索引中的區段,用於建立語意排名的欄位輸入。 您無須重建,即可隨時新增或更新語意設定。 若您建立多個設定,則可以指定預設值。 在查詢時,請在查詢要求上指定語意設定,或將其留空以使用預設值。
語意設定具有名稱和下列屬性:
屬性 | 特性 |
---|---|
[標題] 欄位 | 簡短字串,最好少於 25 個字。 此欄位可以是文件標題、產品名稱或唯一識別碼。 若您沒有適當的欄位,請將其留空。 |
內容欄位 | 自然語言形式的較長文字區塊,受限於機器學習模型中的最大語彙基元輸入限制。 常見範例包括文件本文、產品說明或其他自由格式的文字。 |
關鍵字欄位 | 關鍵字清單,例如文件中的標籤,或描述性字詞,例如項目的類別。 |
您只能指定一個標題欄位,但可以隨意指定多個內容和關鍵字欄位。 對於內容和關鍵字欄位,請依優先順序列出欄位,因為優先順序較低的欄位可能會遭到截斷。
在所有語意設定屬性中,您指派的欄位必須是:
- 屬性為
searchable
和retrievable
Edm.String
、Collection(Edm.String)
類型的字串,Collection(Edm.ComplexType)
的字串子欄位
登入 [Azure 入口網站] 並瀏覽至已啟用語意排名的搜尋服務。
從左側瀏覽窗格的 [索引] 中,開啟索引。
選取 [語意設定] ,然後選取 [新增語意設定] 。
[新增語意設定] 頁面隨即開啟,其中包含選取標題欄位、內容欄位以及關鍵字欄位的選項。 只有可搜尋和可擷取的字串欄位才符合資格。 請務必依優先順序列出內容欄位及關鍵字欄位。
選取 [確定] 儲存變更。
從預覽版本移轉
如果您的語意排名程式碼使用預覽 API,本節將說明如何移轉至穩定版本。 您可以檢查變更記錄,以驗證是否正式發行:
- 2023-11-01 (REST)
- Azure SDK for .NET (11.5) 變更記錄
- Azure SDK for Python (11.4) 變更記錄
- Azure SDK for Java (11.6) 變更記錄
- Azure SDK for JavaScript (12.0) 變更記錄
行為變更:
自 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
新增至索引結構描述,以指定欄位優先順序。
下一步
透過執行語意查詢,測試您的語意設定。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應