有没有办法从天蓝色搜索索引中删除旧数据

时间:2020-10-15 07:12:30

标签: azure elasticsearch indexing indexer azure-search-.net-sdk

我已经在azure上创建了搜索服务。现在,数据库上有一些数据更改,并且某些值已删除。当我完成重置并运行索引器后,搜索浏览器仍会显示不需要的旧值。 例如:this为周期:202007更改前的响应

        "ID":"ABC_202007",
        "EntityID": "ABC",
        "PartnerOneName": "ABC",
        "RiskScore": 47.04,
        "POCount": 2,
        "POAmount": 591925.54,
        "Category": "ABC",
        "Cycle": "202007",
        "Country": "ABC",
        "Area": "ABC",
        "POAmountScore": 100,
        "POCountScore": 96,

现在,一段时间后,周期更改为202019,当我重置并运行索引器时,响应为:

{
            "ID":"ABC_202007"
            "EntityID": "ABC",
            "PartnerOneName": "ABC",
            "RiskScore": 47.04,
            "POCount": 2,
            "POAmount": 591925.54,
            "Category": "ABC",
            "Cycle": "202007",
            "Country": "ABC",
            "Area": "ABC",
            "POAmountScore": 100,
            "POCountScore": 96,
},

{
              "ID":"ABC_202019"
            "EntityID": "ABC",
            "PartnerOneName": "ABC",
            "RiskScore": 47.04,
            "POCount": 2,
            "POAmount": 591925.54,
            "Category": "ABC",
            "Cycle": "202019",
            "Country": "ABC",
            "Area": "ABC",
            "POAmountScore": 100,
            "POCountScore": 96
}

我只想要第二个结果集。 请帮忙。

1 个答案:

答案 0 :(得分:1)

不幸的是,您只能按id which is described here.删除单个文档,迭代多个文档并逐个删除它们是目前唯一的方法。谢谢微软!

删除多个文档是long wanted feature,但到目前为止没有任何反应。如果您也认为这是必不可少的,请对该建议进行投票。

在您的情况下,将EntityID作为id是有意义的,因此文档将被覆盖。或者您只是创建查询来过滤掉过时的版本...谁在乎存储空间。