gpt4 book ai didi

Azure 搜索返回已删除 Blob 资源的结果

转载 作者:行者123 更新时间:2023-12-04 22:55:36 25 4
gpt4 key购买 nike

我有一个 Azure 搜索服务,用于根据 BLOB 元数据搜索 BLOBS(图像)。

搜索所基于的索引设置为每小时刷新。

但是,我仍然得到搜索结果中不再存在的 BLOB 结果。

使用Get Indexer Status API (下面的输出)显示删除 BLOBS 后索引已成功刷新。

"status": "running",
"lastResult": {
"status": "success",
"errorMessage": null,
"startTime": "2018-02-05T16:00:03.29Z",
"endTime": "2018-02-05T16:00:03.416Z",
"errors": [],
"warnings": [],
"itemsProcessed": 0,
"itemsFailed": 0,
"initialTrackingState": "{\r\n \"lastFullEnumerationStartTime\": \"2018-02-05T14:59:31.966Z\",\r\n \"lastAttemptedEnumerationStartTime\": \"2018-02-05T14:59:31.966Z\",\r\n \"nameHighWaterMark\": null\r\n}",
"finalTrackingState": "{\"LastFullEnumerationStartTime\":\"2018-02-05T15:59:33.2900956+00:00\",\"LastAttemptedEnumerationStartTime\":\"2018-02-05T15:59:33.2900956+00:00\",\"NameHighWaterMark\":null}"
},
"

如果相关,BLOB 已使用 Azure Storage Explorer 删除

这导致的问题是,这些图像被输出到网页,并且当前显示为缺失图像,并使索引大于所需的大小。

最佳答案

虽然软删除是一个选项,但如果您愿意,也可以直接修改索引器所针对的索引。

可以使用POST索引API详细on this page使用“key”字段直接删除文档。下面是一个例子:

POST https://[service name].search.windows.net/indexes/[index name]/docs/index?api-version=[api-version]   
Content-Type: application/json
api-key: [admin key]
{
"value": [
{
"@search.action": "delete",
"key_field_name": "value"
}
]
}

假设您没有使用字段映射来修改 Blob 索引器的默认“键”行为,来自文档 on this page键字段将是 metadata_storage_path 属性的 base64 编码 值(同样,请参阅前面的链接了解详细信息)。因此,删除 blob 后,您可以编写一个触发器,将适当的负载发布到您希望从中删除文档的搜索索引。

关于Azure 搜索返回已删除 Blob 资源的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48627052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com