本文提供有关在 Azure AI 搜索中索引编制和 AI 扩充期间可能会遇到的常见错误和警告的信息和解决方案。
当错误计数超过 “maxFailedItems”时,索引停止。
如果希望索引器忽略这些错误(并跳过“失败的文档”),请考虑根据此处的说明更新maxFailedItems
和maxFailedItemsPerBatch
。
注意
每个失败的文档及其文档键(如有)将显示为索引器执行状态中的错误。 如果已将索引器设置为容忍失败,则可以利用 索引 API 在以后手动上传文档。
本文中的错误信息可以帮助你解决错误,从而允许索引继续。
警告不会停止索引,但它们确实指示可能导致意外结果的条件。 是否采取措施取决于数据和您的情境。
若要验证索引器状态并识别 Azure 门户中的错误,请执行以下步骤:
在左侧,展开 “搜索管理>索引器 ”并选择一个索引器。
在 “执行历史记录”下,选择状态。 所有状态(包括 Success)都有有关执行的详细信息。
如果出现错误,请将鼠标悬停在错误消息上。 屏幕右侧会显示一个窗格,其中显示了有关错误的详细信息。
由于各种原因(例如暂时性网络通信中断、长时间运行的进程超时或特定文档细微差别),在索引器运行期间经常遇到暂时性错误或警告。 但是,这些错误是临时的,应在后续索引器运行中解决。
为了有效管理这些错误,我们建议将 索引器按计划运行,例如,每隔五分钟运行一次,下一次运行将在完成第一次运行后五分钟开始,并遵循服务 的最大运行时限制 。 定期安排的运行有助于纠正瞬时错误或警告。
如果错误在多次索引器运行中持续存在,它可能不是暂时性的问题。 在这种情况下,请参阅下面的列表了解潜在的解决方案。
资产 | DESCRIPTION | 示例: |
---|---|---|
密钥 | 受错误或警告影响的文档的 ID。 | Azure 存储示例,其中默认 ID 是元数据存储路径: https://<storageaccount>.blob.core.chinacloudapi.cn/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 |
索引器无法从数据源读取文档。 此错误的可能原因包括:
原因 | 详细信息/示例 | 决议 |
---|---|---|
不同文档中的字段类型不一致 |
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 |
偶尔会出现意外的连接问题。 请稍后再次尝试通过索引器运行文档。 |
具有 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.
|
偶尔会出现意外的连接问题。 请稍后再次尝试通过索引器运行文档。 |
索引器从数据源读取文档,但将文档内容转换为指定的字段映射架构时出现问题。 此错误的可能原因包括:
原因 | 详细信息/示例 | 决议 |
---|---|---|
缺少文档密钥 | 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 映射函数 ,以替代纯文本路径 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
二进制数据应用映射函数将生成此错误。 若要解决此问题,请在不指定映射函数的情况下重新运行索引器,或确保映射函数与输出字段数据类型兼容。 有关详细信息,请参阅 输出字段映射 。
索引器无法执行技能集中定义的技能。
原因 | 详细信息/示例 | 决议 |
---|---|---|
暂时性连接问题 | 发生了暂时性错误。 请稍后重试。 | 偶尔会出现意外的连接问题。 请稍后再次尝试通过索引器运行文档。 |
潜在的产品缺陷 | 发生意外错误。 | 这表示未知的故障类别,可能指示产品缺陷。 提交 支持票证 以获取帮助。 |
技能在执行过程中遇到错误 | “合并技能”中的一个或多个偏移值无效,无法解析。 条目被插入到了文本的末尾 | 使用错误消息中的信息修复问题。 此类失败需要采取行动才能解决。 |
技能执行失败,因为对 Web API 的调用失败。 通常,使用自定义技能时会发生此类故障,在这种情况下,需要调试自定义代码来解决该问题。 如果失败来自内置技能,请查看错误消息以寻求解决问题的帮助。
调试此问题时,请务必注意此 技能的任何技能输入警告 。 Web API 终结点可能失败,因为索引器正在传递意外输入。
技能执行失败,因为对 Web API 的调用返回了无效的响应。 通常,使用自定义技能时会发生此类故障,在这种情况下,需要调试自定义代码来解决该问题。 如果失败来自内置技能,请提交 客服请求单 以获取帮助。
Error: Type of value has a mismatch with column type. Couldn't store in 'xyz' column. Expected type is 'abc'
如果数据源具有与尝试在索引中映射的字段不同的数据类型的字段,则可能会遇到此错误。 检查数据源字段数据类型,并确保它们 正确映射到索引数据类型。
在以下两种情况下,可能会遇到此错误消息,每个错误消息应以不同的方式处理。 根据是什么技能返回了此错误,按照以下说明进行操作。
许多内置认知技能(如语言检测、实体识别或 OCR)都由 Azure AI 服务 API 终结点提供支持。 有时,这些终结点会出现暂时性问题,导致请求超时。对于这种暂时性问题,解决办法只有等待并再次尝试。 作为缓解措施,请考虑将索引器设置为 按计划运行。 定期索引编制将从中断处继续进行。 假设暂时性问题得到解决,索引编制和认知技能处理应能够在下一次计划的运行中继续。
如果您在针对内置认知技能的同一个文档中持续看到此错误,请提交技术支持申请以寻求帮助,因为这不是预期的情况。
如果遇到自定义技能的超时错误,可以尝试一些方法。 首先,查看你的自定义技能,并确保它不会陷入无限循环,并且它一致地返回结果。 确认返回结果后,请检查执行持续时间。 如果未在自定义技能定义上显式设置 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 秒。 有关详细信息,请查看 自定义技能文档 。
文档已读取和处理,但索引器无法将其添加到搜索索引。 此错误的可能原因包括:
原因 | 详细信息/示例 | 决议 |
---|---|---|
字段包含过大的词汇 | 文档中的术语大于 32 KB 限制 | 要避免此限制,可以确保字段未配置为可筛选、可分面或可排序。 |
文档太大,无法编制索引 | 文档大于 最大 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% 可用性。 |
基础计算/网络资源中的故障(很少见) | 未能建立与更新索引的连接。 发生未知的失败。 | 将索引器配置为 按计划运行 ,以从失败状态中选取。 |
由于网络问题,未在超时时间内确认对目标索引发出的索引请求。 | 无法及时建立与搜索索引的连接。 | 将索引器配置为 按计划运行 ,以从失败状态中恢复。 此外,如果此错误条件仍然存在,请尝试降低索引器 批大小 。 |
文档由索引器读取和处理,但由于索引字段的配置与索引器提取和处理的数据不匹配,因此无法将其添加到搜索索引。 此错误的可能原因包括:
原因 | 详细信息/示例 |
---|---|
索引器提取的一个或多个字段的数据类型与相应目标索引字段的数据模型不兼容。 | 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 |
在所有这些情况下,请参阅索引器 支持的数据类型 和 数据类型映射 ,以确保正确生成索引架构并设置适当的 索引器字段映射。 错误消息包含可帮助跟踪不匹配源的详细信息。
这适用于 SQL 表,通常发生在键被定义为复合键,或者表定义了唯一聚集索引的情况下(指的是 SQL 索引,而不是 Azure 搜索索引)。 主要原因是将键属性修改为 唯一聚集索引中的复合主键。 在这种情况下,请确保 SQL 表没有唯一的聚集索引,或者将键字段映射到保证不具有重复值的字段。
当索引器无法在允许的执行时间内完成从数据源处理单个文档时,会发生此错误。 使用技能集时,最长运行时间较短。 发生此错误时,如果 maxFailedItems 设置为非零值,索引器会在后续运行中跳过该文档,以确保索引继续进行。 如果您不能跳过任何文档,或如果反复遇到此错误,请考虑将文档拆分为较小的部分,以便在一次索引执行中实现部分进度。
当索引器尝试将数据 投影到知识存储 并且尝试失败时,会发生此错误。 此故障可以一致且可修复,也可能是投影输出接收器的暂时性故障,可能需要等待并重试才能解决。 下面是一组已知的故障状态和可能的解决方法。
原因 | 详细信息/示例 | 决议 |
---|---|---|
无法更新容器'containerName' 中的投影blob'blobUri' |
指定的容器不存在。 | 索引器检查指定的容器是否已创建,并在必要时创建它,但每次运行索引器时,它只执行此检查一次。 此错误表示在此步骤后有东西删除了容器。 若要解决此错误,请尝试此作:仅保留存储帐户信息,等待索引器完成,然后重新运行索引器。 |
无法在容器 'containerName' 中更新投影 blob 'blobUri' |
无法将数据写入传输连接:远程主机强行关闭了现有连接。 | 这应是 Azure 存储的暂时性故障,因此应通过重新运行索引器来解决。 如果经常遇到此错误,请提交支持票证,以便进行进一步调查。 |
无法更新表'tableName' 中的行'projectionRow' |
服务器繁忙。 | 这应是 Azure 存储的暂时性故障,因此应通过重新运行索引器来解决。 如果持续遇到此错误,请提交支持工单,以便进一步调查。 |
技能执行失败,因为对 Azure AI 服务的调用受到限制。 通常,当并行执行过多技能时,会发生此类故障。 如果使用 Microsoft.Search.Documents 客户端库运行索引器,则可以使用 SearchIndexingBufferedSender 在失败的操作上自动重试。 否则,可以 重置并重新运行索引器。
“预期的 IndexAction 元数据”错误意味着当索引器尝试读取文档以识别应执行的作时,它找不到文档上的任何相应元数据。 通常,当索引器添加或删除批注缓存而不重置索引器时,会发生此错误。 若要解决此问题,应 重置并重新运行索引器。
技能输入缺失、类型错误或其他无效情况。 你可能会看到以下信息:
Could not execute skill
Skill executed but may have unexpected results
认知技能具有所需的输入和可选输入。 例如, 关键短语提取技能 有两个必需的输入 text
, languageCode
并且没有可选的输入。 自定义技能输入都被视为可选输入。
如果缺少必要的输入或输入不是正确的类型,系统会跳过该技能并生成警告。 被跳过的技能不产生输出。 如果下游技能消耗跳过技能的输出,则可能会产生其他警告。
如果缺少可选输入,技能仍会运行,但由于缺少输入,它可能会生成意外的输出。
在这两种情况下,此警告都是由于数据的形状造成的。 例如,如果您有一个包含有关人员信息的文档,这些信息具有字段firstName
、middleName
和lastName
,那么您可能会有一些没有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 的输出传递到后续技能,并且输出包含的语言比这些下游技能支持的语言多,则可能会出现这种情况。
请注意,如果向 LanguageDetectionSkill 传递无效 countryHint
输入,则还可以收到类似于此警告的警告。 如果发生这种情况,请验证你用于该输入的数据源中的字段是否包含有效的 ISO 3166-1 alpha-2 两个字母国家/地区代码。 如果有些有效而有些无效,请继续遵循以下指南,但将languageCode
替换为countryHint
,将defaultLanguageCode
替换为defaultCountryHint
以符合您的用例。
如果知道数据集全部采用一种语言,则应删除 LanguageDetectionSkill 和 languageCode
技能输入,并 defaultLanguageCode
改用该技能的技能参数,假设该技能支持该语言。
如果知道数据集包含多种语言,因此需要 LanguageDetectionSkill 和 languageCode
输入,请考虑添加 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" } ]
}
下面是可用于生成此错误消息的每个技能当前支持的语言的一些参考:
- EntityRecognitionSkill 支持的语言
- EntityLinkingSkill 支持的语言
- KeyPhraseExtractionSkill 支持的语言
- LanguageDetectionSkill 支持的语言
- PIIDetectionSkill 支持的语言
- SentimentSkill 支持的语言
- 翻译器支持的语言
-
Text SplitSkill 支持的语言:
da, de, en, es, fi, fr, it, ko, pt
认知技能限制一次可以分析的文本长度。 如果文本输入超出限制,则会在扩充文本之前截断文本。 技能会执行,但不会处理所有数据。
在下面的 LanguageDetectionSkill
示例中,'text'
输入字段在输入超出字符限制时可能会触发此警告。 可以在 技能参考文档中找到输入限制。
{
"@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill",
"inputs": [
{
"name": "text",
"source": "/document/text"
}
],
"outputs": [...]
}
如果要确保分析所有文本,请考虑使用 拆分技能。
索引器在技能组中运行技能,但来自 Web API 请求的响应表明存在警告。 查看警告,了解您的数据受到的影响以及是否需要采取进一步措施。
此警告仅适用于 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 个字符的行进行投影。
索引器限制可从任意一个文档中提取多少文本。 此限制取决于定价层:免费层为 32,000 个字符,基本层为 64,000 个字符,标准 S2 为 400 万个字符,标准 S2 为 800 万个字符,标准 S3 为 1600 万个字符。 截断的文本不会编制索引。 若要避免出现此警告,请尝试将包含大量文本的文档拆分为多个较小的文档。
有关详细信息,请参阅 索引器限制。
引用不存在/null 数据的输出字段映射将为每个文档生成警告,并生成空索引字段。 若要解决此问题,请仔细检查输出字段映射源路径是否存在可能的拼写错误,或使用 条件技能设置默认值。 有关详细信息,请参阅 输出字段映射 。
原因 | 详细信息/示例 | 决议 |
---|---|---|
无法迭代非数组 | “无法循环访问非数组 /document/normalized_images/0/imageCelebrities/0/detail/celebrities 。” |
当输出不是数组时,会发生此错误。 如果认为输出应该是数组,请检查指示的输出源字段路径是否存在错误。 例如,源字段名称中可能缺少或多出* 。 此外,此技能的输入可能为空,从而会导致空数组。 在 “技能输入无效” 部分中查找类似的详细信息。 |
无法在非数组中选择0 |
无法选择 0 ,因为 /document/pages 不是数组。 |
如果技能输出不生成数组,并且输出源字段名称的路径中包含数组索引或* ,则可能会出现这种情况。 仔细检查在输出源字段名称和指定字段名称的字段值中提供的路径。 在 “技能输入无效” 部分中查找类似的详细信息。 |
数据更改检测策略 对用于检测更改的列具有特定要求。 其中一项要求是每次更改源项时都会更新此列。 另一个要求是,此列的新值大于以前的值。 键列不满足此要求,因为它们不会在每次更新时更改。 为了解决此问题,请选择用于更改检测策略的其他列。
索引器分析模式需要知道文本在分析之前如何编码。 编码文本的两种最常见方法是 UTF-16 和 UTF-8。 UTF-8 是可变长度编码,其中每个字符长度介于 1 字节和 4 字节之间。 UTF-16 是固定长度编码,其中每个字符长度为 2 字节。 UTF-16 具有两个不同的变体, big endian
以及 little endian
。 文本编码由文本之前的一 byte order mark
系列字节确定。
编码 | 字节顺序标记 |
---|---|
UTF-16 大端序 (Big Endian) | 0xFE 0xFF |
UTF-16 小端序 | 0xFF 0xFE |
UTF-8 | 0xEF 0xBB 0xBF |
如果没有字节顺序标记,则假定文本编码为 UTF-8。
若要解决此警告,请确定此 Blob 的文本编码是什么,并添加相应的字节顺序标记。
无法一致地查询具有 延迟 索引策略的集合,从而导致索引器缺少数据。 若要解决此警告,请将索引策略更改为“一致”。
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 个字符,这可能会影响模型预测。
索引器具有 文档大小限制。 确保数据源中的文档小于支持的大小限制,如服务层所述。