为Azure Search索引Blob内容时,"内容"过大

val*_*rij 0 azure azure-storage-blobs azure-cognitive-search

我按照本文所述为Azure设置blob索引和全文搜索:使用Azure搜索在Azure Blob存储中索引文档.

我的一些文档在索引器中失败,导致返回以下错误:

字段"内容"包含的字词太大而无法处理.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
    }]
}
Run Code Online (Sandbox Code Playgroud)

索引:

{
    "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"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试搜索他们的文档和其他一些相关文章,但我找不到任何信息.我猜这是因为此功能仍在预览中.

Eug*_*ets 5

搜索索引中单个术语的大小有限 - 它也恰好是32KB.如果content搜索索引中的字段标记为filterable,facetable或者sortable您将达到此限制(无论该字段是否标记为可搜索).通常对于您想要启用的大型可搜索内容searchable,有时retrievable而不是其他内容.这样你就不会从索引端达到内容长度的限制.

有关更多背景信息,请参阅此答案.