我为Azure设置blob索引和全文搜索,如本文所述:Indexing Documents in Azure Blob Storage with Azure Search。
我的一些文档在索引器中失败,导致返回以下错误:
字段“内容”包含的字词太大而无法处理。 UTF-8编码术语的最大长度为32766字节。导致此错误的最可能原因是在此字段上启用了筛选,排序和/或分面,这会导致整个字段值被索引为单个术语。请避免在大字段中使用这些选项。
产生此错误的特定pdf为3.68 MB,包含各种内容(文本,表格,图像等)。
索引和索引器的设置与该文章中描述的完全相同,但增加了一些文件类型限制。
索引:
{
"name": "my-index",
"fields": [{
"name": "id",
"type": "Edm.String",
"key": true,
"searchable": false
}, {
"name": "content",
"type": "Edm.String",
"searchable": true
}]
}
索引:
{
"name": "my-indexer",
"dataSourceName": "my-data-source",
"targetIndexName": "my-index",
"schedule": {
"interval": "PT2H"
},
"parameters": {
"maxFailedItems": 10,
"configuration": {
"indexedFileNameExtensions": ".pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.html,.xml,.eml,.msg,.txt,.text"
}
}
}
我尝试搜索他们的文档和其他一些相关文章,但我找不到任何信息。我猜这是因为这个功能还在预览中。
答案 0 :(得分:5)
搜索索引中单个术语的大小有限制 - 它也恰好是32KB。如果搜索索引中的content
字段标记为filterable
,facetable
或sortable
,那么您将达到此限制(无论该字段是否标记为可搜索或不可搜索)。通常,对于大型可搜索内容,您希望启用searchable
,有时启用retrievable
,但不启用其他内容。这样,您就无法从索引端获得内容长度限制。
有关更多背景信息,请参阅this answer。