【发布时间】:2022-01-15 11:02:26
【问题描述】:
我从 Azure 存储帐户中删除了一个与我使用容器资源管理器进行认知搜索相关联的文件,因为在我的 web 应用程序中搜索该文件时,索引器仍会找到该文件,我了解到我必须使用索引 API 删除该文件,因为它仍然存在,确实,当我查看 Azure 索引时,会显示以下响应:
{
"@search.score": 7.9088755,
"id": "aHR0cHM6Ly9kYXRhbWluaW5nc2EuYmxvYi5jb3JlLndpbmRvd3MubmV0L2RvY3VtZW50YWwvcGxhbl9wcmVtaXVtX3YxODZ2Mi5w****",
"fileName": "deleted_file.pdf"
}
但是当我尝试通过 Postman 使用删除 Api 时,正如文档所说,使用该 ID:
POST https://myservicename.search.windows.net/indexes/myindexname/docs/index?api-version=2020-06-30
Content-Type: application/json
api-key: [my admin key]
{
"value": [
{
"@search.action": "delete",
"id": "aHR0cHM6Ly9kYXRhbWluaW5nc2EuYmxvYi5jb3JlLndpbmRvd3MubmV0L2RvY3VtZW50YWwvcGxhbl9wcmVtaXVtX3YxODZ2Mi5w****"
}
]
}
我收到“404 未找到”:
{
"error": {
"code": "",
"message": "No HTTP resource was found that matches the request URI 'https://myservicename.search.windows.net/indexes('myindexname')/docs?api-version=2020-06-30'."
}
}
另外,尝试使用这样的文件名:
POST https://myservicename.search.windows.net/indexes/myindexname/docs/index?api-version=2020-06-30
Content-Type: application/json
api-key: [my admin key]
{
"value": [
{
"@search.action": "delete",
"fileName": "deleted_file.pdf"
}
]
}
得到了相同的结果,不知道为什么它在括号内使用了索引,网址和上面一样...我也已经对索引启用了软删除策略,文件从存储中删除但仍然存在于索引中.. .任何想法?
【问题讨论】:
标签: azure-blob-storage azure-storage azure-cognitive-search