我想知道如何删除Azure搜索索引中的特定文档。
我想使用“ id”通过REST API删除文档。我已经搜索过,但找不到路。
{
"@odata.context": "https://xxxx/$metadata#docs(*)",
"value": [
{
"@search.score": 1,
"id": "16",
"questions": [
"Question"
],
"answer": "Answer",
"source": "https://azure.microsoft.com/ja-jp/support/faq/",
"keywords": [],
"alternateQuestions": null
},
例如,我只想删除id为16的文档。我不想删除整个索引,只想删除文档。
如果有人知道该怎么做,请提供一个REST API示例。
答案 0 :(得分:1)
有关如何在Azure搜索中删除“文档”的文档可以为found here.,因为您要删除与id == 16相关联的所有字段,因此,这正是您要寻找的。 p >
要针对您的具体情况更具体,您将希望对以下URI发出POST请求,并在其中填写适当的服务名称,索引名称和api管理密钥(作为标头):
POST https://[service name].search.windows.net/indexes/[index name]/docs/index?api-version=2017-11-11
Content-Type: application/json
api-key: [admin key]
并带有以下请求正文:
{
"value": [
{
"@search.action": "delete",
"id": "16"
}
]
}
如果请求返回200,则文档将成功从索引中删除。
请注意,您可以通过在JSON数组中包含更多对象(每个对象具有不同的“ id”)来删除同一请求中的多个文档。这比一次删除它们要有效。