分享方式:


針對 Azure AI 搜尋中的常見索引子錯誤和警告進行疑難排解

本文提供您在 Azure AI 搜尋的編製索引和 AI 擴充期間可能會遇到之常見錯誤和警告的資訊和解決方案。

錯誤計數超過 'maxFailedItems' 時,編製索引就會停止。

如果您想要索引子忽略這些錯誤 (並略過<失敗的文件>),則請考慮更新 maxFailedItemsmaxFailedItemsPerBatch,如這裡所述。

注意

每個失敗的文件和其文件索引鍵 (可用時) 將會顯示為索引子執行狀態中的錯誤。 如果您已將索引子設定為容忍失敗,則可以利用索引 API 以在稍後手動上傳文件。

本文中的錯誤資訊可以協助您解決錯誤,以允許繼續編製索引。

警告不會停止編製索引,但會指出可能導致非預期結果的條件。 您是否採取動作取決於資料和案例。

您可以在何處找到特定的索引子錯誤?

若要確認索引子狀態並識別 Azure 入口網站中的錯誤,請遵循下列步驟:

  1. 登入 Azure 入口網站,然後尋找您的搜尋服務

  2. 在左側展開 [搜尋管理>索引器]然後選取索引器。

  3. 在 [執行歷程記錄] 底 ,選取狀態。 所有狀態,包括成功,都有執行的詳細數據。

  4. 如果發生錯誤,請將滑鼠停留在錯誤訊息上。 畫面右側會出現一個窗格,其中顯示錯誤的詳細資訊。

暫時性錯誤

基於各種原因,例如暫時性網路通訊中斷、長時間執行的程序逾時或特定文件細微差別,在索引子執行期間通常會發生暫時性錯誤或警告。 不過,這些錯誤是暫時性的,應該在後續的索引子執行中解決。

若要有效地管理這些錯誤,我們建議您 將索引器排程為每五分鐘執行一次,其中下一次執行會在完成第一次執行后五分鐘開始執行,並遵守 服務的最大運行時間限制 。 定期排程的執行有助於修正暫時性錯誤或警告。

如果多個索引器執行時發生錯誤,可能不是暫時性問題。 在這類情況下,請參閱下列清單以取得潛在的解決方案。

錯誤屬性

屬性 說明 範例
機碼 受錯誤或警告影響的文件識別碼。 Azure 儲存體 範例,其中預設識別碼是元數據記憶體路徑:https://<storageaccount>.blob.core.windows.net/jfk-1k/docid-32112954.pdf
名稱 造成錯誤或警告的作業。 這是下列結構所產生:[category].[subcategory].[resourceType].[resourceName] DocumentExtraction.azureblob.myBlobContainerName Enrichment.WebApiSkill.mySkillName Projection.SearchIndex.OutputFieldMapping.myOutputFieldName Projection.SearchIndex.MergeOrUpload.myIndexName Projection.KnowledgeStore.Table.myTableName
訊息 錯誤或警告的高階描述。 Could not execute skill because the Web Api request failed.
詳細資料 執行自訂技能失敗時,可能有助於診斷問題的特定資料,例如 WebApi 回應。 link-cryptonyms-list - Error processing the request record : System.ArgumentNullException: Value cannot be null. Parameter name: source at System.Linq.Enumerable.All[TSource](IEnumerable 1 source, Func 2 predicate) at Microsoft.CognitiveSearch.WebApiSkills.JfkWebApiSkills. ...rest of stack trace...
DocumentationLink 相關文件的連結,其中包含偵錯和解決問題的詳細資訊。 此連結通常會指向此頁面上的下列其中一節。 https://go.microsoft.com/fwlink/?linkid=2106475

Error: Could not read document

索引子無法從資料來源讀取文件。 可能的原因包括:

原因 詳細資料/範例 解決方法
不同文件的欄位類型不一致 Type of value has a mismatch with column type. Couldn't store '{47.6,-122.1}' in authors column. Expected type is JArray. Error converting data type nvarchar to float. Conversion failed when converting the nvarchar value '12 months' to data type int. Arithmetic overflow error converting expression to data type int. 請確定每個欄位的類型在不同的文件中都相同。 例如,如果第一個文件 'startTime' 欄位是 DateTime,而在第二個文件中是字串,則會叫用此錯誤。
資料來源基礎服務的錯誤 從 Azure Cosmos DB:{"Errors":["Request rate is large"]} 請檢查您的儲存體執行個體,以確保其狀況良好。 您可能需要調整您的調整規模或資料分割。
暫時性問題 A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host 偶爾會有非預期的連線問題。 請稍後再嘗試透過索引子來執行文件。

Error: Could not extract content or metadata from your document

具有 Blob 資料來源的索引子無法從文件中擷取內容或中繼資料 (例如, PDF 檔案)。 可能的原因包括:

原因 詳細資料/範例 解決方法
Blob 超過大小限制 Document is '150441598' bytes, which exceeds the maximum size '134217728' bytes for document extraction for your current service tier. Blob 編製索引錯誤
Blob 具有不支援的內容類型 Document has unsupported content type 'image/png' Blob 編製索引錯誤
Blob 已加密 Document could not be processed - it may be encrypted or password protected. 您可以使用 Blob 設定來略過 Blob。
暫時性問題 Error processing blob: The request was aborted: The request was canceled. Document timed out during processing. 偶爾會有非預期的連線問題。 請稍後再嘗試透過索引子來執行文件。

Error: Could not parse document

索引子會從資料來源中讀取文件,但將文件內容轉換成指定的欄位對應結構描述時發生問題。 可能的原因包括:

原因 詳細資料/範例 解決方法
遺漏文件索引鍵 Document key cannot be missing or empty 確定所有文件都有有效的文件索引鍵。 文件索引鍵是將 'key' 屬性設定為索引定義的一部分來決定。 索引子會在特定文件上找不到標示為 'key' 的屬性時發出此錯誤。
文件索引鍵無效 Invalid document key. Keys can only contain letters, digits, underscore (_), dash (-), or equal sign (=). 確定所有文件都有有效的文件索引鍵。 如需詳細資訊,請檢閱為 Blob 儲存體編製索引。 如果您使用 Blob 索引子,而且您的文件索引鍵是 metadata_storage_path 欄位,請確定索引子定義具有 base64Encode 對應函式,且 parameters 等於 null,而不是純文字路徑。
文件索引鍵無效 Document key cannot be longer than 1024 characters 修改文件索引鍵以符合驗證需求。
無法將欄位對應套用至欄位 Could not apply mapping function 'functionName' to field 'fieldName'. Array cannot be null. Parameter name: bytes 仔細檢查索引子上所定義的欄位對應,並與失敗文件的指定欄位資料進行比較。 可能需要修改欄位對應或文件資料。
無法讀取域值 Could not read the value of column 'fieldName' at index 'fieldIndex'. A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) 這些錯誤通常是資料來源基礎服務發生非預期的連線問題所造成。 請稍後再嘗試透過索引子來執行文件。

Error: Could not map output field 'xyz' to search index due to deserialization problem while applying mapping function 'abc'

輸出對應可能失敗,因為您所使用之對應函數的輸出資料格式錯誤。 例如,在二進位資料上套用 Base64Encode 對應函數會產生此錯誤。 若要解決此問題,請重新執行索引子而不指定對應函數,或確定對應函數與輸出欄位資料類型相容。 如需詳細資料,請參閱輸出欄位對應

Error: Could not execute skill

索引子無法執行技能中的技能。

原因 詳細資料/範例 解決方法
暫時性連線問題 發生暫時性錯誤。 請稍後再試一次。 偶爾會有非預期的連線問題。 請稍後再嘗試透過索引子來執行文件。
潛在產品錯誤 (bug) 發生未預期的錯誤。 這指出未知的失敗類別,而且可能指出產品錯誤 (bug)。 提出支援票證以取得協助。
技能在執行期間發生錯誤 (從合併技能) 一或多個位移值無效,而且無法進行剖析。 項目已插入到文字結尾 使用錯誤訊息中的資訊來修正問題。 這種失敗需要採取動作才能解決。

Error: Could not execute skill because the Web API request failed

技能執行失敗,因為對 Web API 的呼叫失敗。 一般而言,使用自訂技能時會發生這種失敗類別,在此情況下,您將需要對自訂程式碼進行偵錯,以解決問題。 相反地,如果失敗來自內建技能,則請參閱錯誤訊息以取得修正問題的協助。

偵錯此問題時,請務必注意此技能的任何技能輸入警告。 您的 Web API 端點可能會失敗,因為索引子正在傳遞非預期的輸入。

Error: Could not execute skill because Web API skill response is invalid

技能執行失敗,因為對 Web API 的呼叫傳回無效的回應。 一般而言,使用自訂技能時會發生這種失敗類別,在此情況下,您將需要對自訂程式碼進行偵錯,以解決問題。 相反地,如果失敗來自內建技能,則請提出支援票證以取得協助。

Error: Type of value has a mismatch with column type. Couldn't store in 'xyz' column. Expected type is 'abc'

如果您資料來源欄位的資料類型與您嘗試在索引中對應的欄位不同,則您可能會遇到此錯誤。 請檢查您的資料來源欄位資料類型,並確定其已正確對應至您的索引資料類型

Error: Skill did not execute within the time limit

在兩種情況下,您可能會遇到此錯誤訊息,而每種情況都應該以不同的方式處理。 根據為您傳回此錯誤的技能,請遵循下面的指示。

內建的 Azure AI 服務技能

Azure AI 服務 API 端點支援許多內建認知技能 (例如語言偵測、實體辨識或 OCR)。 有時候,這些端點會有暫時性問題,而要求將會逾時。針對暫時性問題,除了等候再試一次,沒有其他補救措施。 作為緩和措施,請考慮將索引子設定為依排程執行。 排程的編製索引會從其離開的位置開始。 假設已解決暫時性問題,編製索引和認知技能處理應該能夠在下一次排程的執行時繼續。

如果您在內建認知技能的相同文件上繼續看到此錯誤,則請提出支援票證以取得協助,因為這不是預期的行為。

自訂技能

如果您遇到自訂技能的逾時錯誤,您可以嘗試許多動作。 首先,請檢閱您的自訂技能,並確定其不會卡在無限迴圈中,而且會一致地傳回結果。 確認傳回結果之後,請檢查執行的持續時間。 如果您未在自訂技能定義上明確設定 timeout 值,則預設 timeout 是 30 秒。 如果 30 秒不足以執行技能,則您可以在自訂技能定義上指定較高的 timeout 值。 以下是自訂技能定義的範例,其中逾時設定為 90 秒:

  {
        "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
        "uri": "<your custom skill uri>",
        "batchSize": 1,
        "timeout": "PT90S",
        "context": "/document",
        "inputs": [
          {
            "name": "input",
            "source": "/document/content"
          }
        ],
        "outputs": [
          {
            "name": "output",
            "targetName": "output"
          }
        ]
      }

您可以為 timeout 參數所設定的最大值為 230 秒。 如果您的自訂技能無法在 230 秒內持續執行,則您可以考慮減少自訂技能的 batchSize,使其在單一執行期間處理較少的文件。 如果您已經將 batchSize 設定為 1,則需要重寫技能,使其可在 230 秒內執行,或將其分割成多個自訂技能,讓任何單一自訂技能的執行時間上限為 230 秒。 如需詳細資訊,請檢閱自訂技能文件

Error: Could not 'MergeOrUpload' | 'Delete' document to the search index

已讀取並處理文件,但索引子無法將其新增至搜尋索引。 可能的原因包括:

原因 詳細資料/範例 解決方法
欄位包含太大的字詞 文件中的字詞大於 32 KB 限制 您可以確保欄位未設定為可篩選、可 Facet 化或可排序,以避免這項限制。
文件太大而無法編製索引 文件大於 API 要求大小上限 如何編製索引大型資料集
文件的集合中包含太多物件 文件中的集合超過所有複雜集合限制的元素上限The document with key '1000052' has '4303' objects in collections (JSON arrays). At most '3000' objects are allowed to be in collections across the entire document. Remove objects from collections and try indexing the document again. 建議將文件中複雜集合的大小縮少為低於限制,並避免高儲存體使用率。
無法連線至目標索引 (在重試後持續),因為服務低於其他負載,例如查詢或編製索引。 無法建立與更新索引的連線。 搜尋服務負載過重。 擴大您的搜尋服務
正在修補服務更新的搜尋服務,或搜尋服務正在進行拓撲重新設定。 無法建立與更新索引的連線。 搜尋服務目前已關閉/搜尋服務正在進行轉換。 根據 SLA 文件,至少為服務設定三個複本,以取得 99.9% 可用性
基礎計算/網路資源失敗 (罕見) 無法建立與更新索引的連線。 發生未知的失敗。 設定索引子依排程執行,以從失敗狀態中進行挑選。
因為網路問題,所以未在逾時期間內認可對目標索引提出的編製索引要求。 無法及時建立與搜尋索引的連線。 設定索引子依排程執行,以從失敗狀態中進行挑選。 此外,如果此錯誤狀況持續發生,則請嘗試降低索引子批次大小

Error: Could not index document because some of the document's data was not valid

索引子已讀取和處理文件,但因為索引欄位設定與索引子所擷取和處理的資料不符,所以無法將其新增至搜尋索引。 可能的原因包括:

原因 詳細資料/範例
索引子所擷取的一或多個欄位的資料類型與對應目標索引欄位的資料模型不相容。 The data field '_data_' in the document with key '888' has an invalid value 'of type 'Edm.String''. The expected type was 'Collection(Edm.String)'.
無法從字串值擷取任何 JSON 實體。 Could not parse value 'of type 'Edm.String'' of field '_data_' as a JSON object. Error:'After parsing a value an unexpected character was encountered: ''. Path '_path_', line 1, position 3162.'
無法從字串值擷取 JSON 實體集合。 Could not parse value 'of type 'Edm.String'' of field '_data_' as a JSON array. Error:'After parsing a value an unexpected character was encountered: ''. Path '[0]', line 1, position 27.'
在來源文件中探索到未知的類型。 Unknown type '_unknown_' cannot be indexed
來源文件中已使用地理位置點的不相容標記法。 WKT POINT string literals are not supported. Use GeoJson point literals instead

在所有這些情況下,請參閱支援的資料類型索引子的資料類型對應,以確定您已正確建置索引結構描述,並且已設定適當的索引子欄位對應。 錯誤訊息將會包括可協助追蹤不相符來源的詳細資料。

Error: Integrated change tracking policy cannot be used because table has a composite primary key

這適用於 SQL 資料表,而且通常會在索引鍵定義為複合索引鍵時或資料表已定義唯一叢集索引時 (在 SQL 索引中,而不是 Azure 搜尋服務索引) 發生。 主要原因是索引鍵屬性在唯一叢集索引的情況下修改為複合主索引鍵。 在該情況下,請確定您的 SQL 資料表沒有唯一叢集索引,或您將索引鍵欄位對應至保證沒有重複值的欄位。

Error: Could not process document within indexer max run time

索引子無法在允許的執行時間內完成處理資料來源中的單一文件時,會發生此錯誤。 使用技能集時,執行時間上限較短。 發生此錯誤時,如果您將 maxFailedItems 設定為 0 以外的值,則索引子會在未來執行時略過文件,以進行編製索引。 如果您無法略過任何文件,或一直看到此錯誤,則請考慮將文件分成多份較小的文件,以在單一索引子執行內進行部分進度。

Error: Could not project document

如果索引子嘗試將資料投影到知識存放區,而且嘗試失敗,則會發生此錯誤。 此失敗可能會一致且可修正,或者可能是投影輸出接收端的暫時性失敗,而您可能需要等候並重試才能解決此失敗。 以下是一組已知失敗狀態和可能的解決方案。

原因 詳細資料/範例 解決方法
無法更新容器中的投影 Blob 'blobUri''containerName' 指定的容器不存在。 索引子將會檢查先前是否已建立指定的容器,並且會在必要時建立指定的容器,但只會在每次索引子執行時執行此檢查一次。 此錯誤表示在此步驟之後,某個項目已刪除容器。 若要解決此錯誤,請嘗試此動作:請單獨保留您的儲存體帳戶資訊,並等候索引子完成,然後重新執行索引子。
無法更新容器中的投影 Blob 'blobUri''containerName' 無法將資料寫入至傳輸連線:遠端主機已強制關閉現有的連線。 這應該是 Azure 儲存體的暫時性失敗,因此應該重新執行索引子來解決。 如果您一直遇到此錯誤,則請提出支援票證,以進一步調查。
無法更新數據表中的數據列'projectionRow''tableName' 伺服器忙碌中。 這應該是 Azure 儲存體的暫時性失敗,因此應該重新執行索引子來解決。 如果您一直遇到此錯誤,則請提出支援票證,以進一步調查。

Error: The cognitive service for skill '<skill-name>' has been throttled

技能執行失敗,因為已節流對 Azure AI 服務的呼叫。 一般而言,太多技能平行執行時,會發生這種類別的失敗。 如果您要使用 Microsoft.Search.Documents 用戶端程式庫來執行索引子,則可以使用 SearchIndexingBufferedSender 來自動重試失敗的步驟。 否則,您可以重設並重新執行索引子

Error: Expected IndexAction metadata

「預期的 IndexAction 元數據」錯誤表示當索引器嘗試讀取檔以識別應該採取的動作時,它找不到檔上任何對應的元數據。 一般而言,當索引子新增或移除註釋快取而不重設索引子時,就會發生此錯誤。 若要解決此問題,您應該重設並重新執行索引子

Warning: Skill input was invalid

遺漏技能的輸入、其類型錯誤或無效。 請參閱下列資訊:

  • Could not execute skill

  • Skill executed but may have unexpected results

認知技能具有必要輸入和選擇性輸入。 例如,關鍵片語擷取技能有兩個必要輸入 textlanguageCode,而沒有選擇性輸入。 自訂技能輸入全都視為選擇性輸入。

如果遺漏必要輸入,或輸入的類型不正確,則會略過技能,並產生警告。 略過的技能不會產生輸出。 如果下游技能取用已略過技能的輸出,則可能會產生其他警告。

如果遺漏選擇性輸入,則仍然會執行技能,但可能會因為遺漏輸入而產生非預期的輸出。

在這兩種情況下,可能會因資料的形狀而發生此警告。 例如,如果您的文件包含具有欄位 firstNamemiddleNamelastName 的人員相關資訊,則可能會有一些沒有 middleName 之項目的文件。 如果您以輸入形式將 middleName 傳遞至管線中的技能,則預期此技能輸入可能遺漏一些時間。 您將需要評估您的資料和案例,以判斷是否因這個警告而需要採取任何動作。

如果您想要在遺漏輸入的情況下提供預設值,則可以使用條件式技能來產生預設值,然後使用條件式技能的輸出作為技能輸入。

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document",
    "inputs": [
        { "name": "condition", "source": "= $(/document/language) == null" },
        { "name": "whenTrue", "source": "= 'en'" },
        { "name": "whenFalse", "source": "= $(/document/language)" }
    ],
    "outputs": [ { "name": "output", "targetName": "languageWithDefault" } ]
}
原因 詳細資料/範例 解決方法
技能輸入是錯誤的類型 「必要的技能輸入不是預期的類型 String。 名稱:text、來源:/document/merged_content。」「必要的技能輸入不是預期的格式。 名稱:text、來源:/document/merged_content。」「無法逐一查看非陣列 /document/normalized_images/0/imageCelebrities/0/detail/celebrities。」「無法在非陣列 /document/normalized_images/0/imageCelebrities/0/detail/celebrities 中選取 0 特定技能預期有特定類型的輸入,例如情緒技能預期 text 為字串。 如果輸入指定非字串值,則技能不會執行且不會產生任何輸出。 請確定資料集具有類型統一的輸入值,或使用自訂 Web API 技能來預先處理輸入。 如果您要逐一查看陣列上的技能,則請檢查技能內容和輸入的 * 是否在正確的位置。 陣列的內容和輸入來源通常應該以 * 結尾。
遺漏技能輸入 Required skill input is missing. Name: text, Source: /document/merged_content Missing value /document/normalized_images/0/imageTags. Unable to select 0 in array /document/pages of length 0. 如果所有文件都發生此警告,則可能是輸入路徑中有錯字。 檢查屬性名稱大小寫。 檢查路徑中是否有額外或遺漏 *。 確認資料來源中的文件提供必要輸入。
技能語言程式碼輸入無效 技能輸入 languageCode 具有下列語言程式碼:X,Y,Z,而其中至少有一個無效。 請參閱下方詳細資訊。

Warning: Skill input 'languageCode' has the following language codes 'X,Y,Z', at least one of which is invalid.

不支援傳遞至下游技能選擇性 languageCode 輸入的一或多個值。 如果您將 LanguageDetectionSkill 的輸出傳遞至後續技能,而且輸出所包含的語言多於這些下游技能所支援的語言,則會發生這種情況。

請注意,如果將無效 countryHint 輸入傳遞至 LanguageDetectionSkill,則您也可能會收到與此類似的警告。 如果發生這種情況,則請驗證您從資料來源針對該輸入所使用的欄位是否包含有效的 ISO 3166-1 alpha-2 兩字母國家/地區代碼。 如果有些有效,但有些無效,則請繼續進行下列指導,但將 languageCode 取代為 countryHint 並將 defaultLanguageCode 取代為 defaultCountryHint,以符合您的使用案例。

如果您知道資料集全都使用一種語言,則應該移除 LanguageDetectionSkilllanguageCode 技能輸入,並改用該技能的 defaultLanguageCode 技能參數,且假設該技能支援該語言。

如果您知道資料集包含多種語言,因此需要 LanguageDetectionSkilllanguageCode 輸入,則請考慮新增 ConditionalSkill 以先篩選出語言不受支援的文字,再將文字傳入下游技能。 以下是這針對 EntityRecognitionSkill 的可能外觀範例:

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document",
    "inputs": [
        { "name": "condition", "source": "= $(/document/language) == 'de' || $(/document/language) == 'en' || $(/document/language) == 'es' || $(/document/language) == 'fr' || $(/document/language) == 'it'" },
        { "name": "whenTrue", "source": "/document/content" },
        { "name": "whenFalse", "source": "= null" }
    ],
    "outputs": [ { "name": "output", "targetName": "supportedByEntityRecognitionSkill" } ]
}

以下是每個可能產生此錯誤訊息的技能目前所支援語言的一些參考:

Warning: Skill input was truncated

認知技能會限制一次可分析的文字長度。 如果文字輸入超過限制,則會在擴充文字之前截斷文字。 會執行技能,但不會在您的所有資料上執行。

在下面的範例 LanguageDetectionSkill 中,如果輸入超過字元限制,則 'text' 輸入欄位可能會觸發此警告。 您可以在技能參考文件中找到輸入限制。

 {
    "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill",
    "inputs": [
      {
        "name": "text",
        "source": "/document/text"
      }
    ],
    "outputs": [...]
  }

如果您想要確定已分析所有文字,則請考慮使用分割技能

Warning: Web API skill response contains warnings

索引子已執行技能集中的技能,但來自 Web API 要求的回應指出發生警告。 檢閱警告,以瞭解對您資料的影響,以及是否需要採取進一步的動作。

Warning: The current indexer configuration does not support incremental progress

此警告僅適用於 Azure Cosmos DB 資料來源。

建立索引期間,採累加進度能確保當索引子執行因暫時性失敗或執行時間限制而中斷時,索引子仍能夠在下次執行時從中斷處繼續建立索引,而不需要重新建立整個集合的索引。 這在建立大型集合的索引時尤其重要。

繼續未完成編製索引工作的能力,取決於依 _ts 資料行排序文件。 索引子會使用時間戳記來判斷下一個要挑選的文件。 如果遺漏 _ts 資料行,或索引子無法判斷自訂查詢是否依其進行排序,則索引子會從頭開始,而您將會看到此警告。

使用 assumeOrderByHighWaterMarkColumn 設定屬性來啟用累加進度以及隱藏此警告,可能可以覆寫此行為。

如需詳細資訊,請參閱累加進度和自訂查詢

Warning: Some data was lost during projection. Row 'X' in table 'Y' has string property 'Z' which was too long.

資料表儲存體服務會限制實體屬性的大小。 字串可以等於或小於 32,000 個字元。 如果正在投影字串屬性超過 32,000 個字元的資料列,則只會保留前 32,000 個字元。 若要解決此問題,請避免投影字串屬性超過 32,000 個字元的資料列。

Warning: Truncated extracted text to X characters

索引子會限制可從任何一份文件擷取的文字數量。 此限制取決於定價層:免費層為 32,000 個字元、基本層為 64,000 個字元、標準層為 4 百萬個字元、標準 S2 層為 8 百萬個字元,而標準 S3 層為 1,600 萬個字元。 截斷的文字將不會進行編製索引。 若要避免這個警告,請嘗試將含有大量文字的文件分割成多份較小的文件。

如需詳細資訊,請參閱索引子限制

Warning: Could not map output field 'X' to search index

參考不存在/Null 資料的輸出欄位對應將會產生每份文件的警告,並產生空白索引欄位。 若要解決此問題,請仔細檢查輸出欄位對應來源路徑是否有可能的錯字,或使用條件式技能來設定預設值。 如需詳細資料,請參閱輸出欄位對應

原因 詳細資料/範例 解決方法
無法逐一查看非陣列 「無法逐一查看非陣列 /document/normalized_images/0/imageCelebrities/0/detail/celebrities。」 輸出不是陣列時,會發生此錯誤。 如果您認為輸出應該是陣列,則請檢查指出的輸出來源欄位路徑是否有錯誤。 例如,您在來源欄位名稱中可能有遺漏或額外的 *。 此外,此技能的輸入也可能為 Null,因此產生空的陣列。 在技能輸入無效區段中尋找類似的詳細資料。
無法在非陣列中選取 0 「無法在非陣列 /document/pages 中選取 0。」 如果技能輸出未產生陣列,而且輸出來源欄位名稱具有陣列索引或其路徑中具有 *,則會發生這種情況。 請仔細檢查輸出來源欄位名稱中所提供的路徑,以及所指出欄位名稱的欄位值。 在技能輸入無效區段中尋找類似的詳細資料。

Warning: The data change detection policy is configured to use key column 'X'

資料變更偵測原則針對用來偵測變更的資料行具有特定需求。 其中一個需求是每次變更來源項目時,都會更新此資料行。 另一個需求是此資料行的新值大於先前的值。 索引鍵資料行未滿足這項需求,因為其不會在每次更新時變更。 若要解決此問題,請為變更偵測原則選取不同的資料行。

Warning: Document text appears to be UTF-16 encoded, but is missing a byte order mark

索引子剖析模式需要先知道文字的編碼方式,才能對其進行剖析。 編碼文字的兩種最常見方式為 UTF-16 和 UTF-8。 UTF-8 是可變長度編碼,其中每個字元的長度都介於 1 個位元組到 4 個位元組之間。 UTF-16 是固定長度編碼,其中每個字元的長度都是 2 位元組。 UTF-16 有兩個不同的變體,big endianlittle endian。 文字編碼是由 byte order mark (文字前面的一系列位元組) 所決定。

編碼方式 位元組順序標記
UTF-16 位元組由大到小 0xFE 0xFF
UTF-16 位元組由小到大 0xFF 0xFE
UTF-8 0xEF 0xBB 0xBF

如果沒有位元組順序標記,則會假設文字編碼為 UTF-8。

若要解決此警告,請判斷此 Blob 的文字編碼為何,並新增適當的位元組順序標記。

Warning: Azure Cosmos DB collection 'X' has a Lazy indexing policy. Some data may be lost

無法一致地查詢具有延遲編製索引原則的集合,導致索引子遺漏資料。 若要解決此警告,請將您的編製索引原則變更為 [一致]。

Warning: The document contains very long words (longer than 64 characters). These words may result in truncated and/or unreliable model predictions.

此警告會從 Azure AI 服務的語言服務予以傳遞。 在某些情況下,可以放心地忽略這個警告,例如,如果長字串只是長 URL。 請注意,字組在超過 64 個字元時將會截斷為 64 個字元,而這樣會影響模型預測。

Error: Cannot write more bytes to the buffer than the configured maximum buffer size

索引子有文件大小限制。 請確定資料來源中的文件小於支援的大小限制,如服務層級所述。