【发布时间】:2020-02-28 16:43:25
【问题描述】:
我想知道如何删除 Azure 搜索索引中的特定文档。
我想通过 REST API 使用“id”删除文档。我已经搜索过,但找不到路。
{
"@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 示例。
【问题讨论】:
-
你的意思是删除一个字段,还是删除一个文档?
-
@BruceJohnston 每个“id”都与“questions”、“answer”和“source”等相关联,对吧?我想要做的是,如果我指定 id(例如:16),我只想删除 16 的块。很抱歉,我不确定该块是否称为“字段”或“文档”。我认为该块称为“字段”。
-
在这种情况下,我也不知道您所说的“阻止”是什么意思。在 Azure 搜索中,具有关键字段的 JSON 对象(在您的情况下,我假设它是“id”)称为“文档”,而对象的属性(“id”、“questions”、“answer”、 “源”等)称为“字段”。这分别类似于 SQL 数据库中的行和列。可以删除文档和字段,但过程有很大不同,所以我需要知道你指的是哪一个,然后才能回答。
-
我想删除“文档”。如果我指定例如 id==16,我想删除与指定 id 相关的 { } 内的整个 JSON 对象。预期结果是“search.score”、“id”、“questions”、“answer”、“source”、“keywords”和“alternateQuestions”被完全删除,而其他文档仍然存在。我很抱歉我的英语不好,顺便说一句。
-
感谢您的澄清!
标签: azure azure-cognitive-search