使用NEST和ElasticSearch的DeleteByQuery

Ben*_*Ben 4 c# elasticsearch nest

我在让NEST的DeleteByQuery方法起作用时遇到了一些困难。

很简单,查询从未找到要删除的内容,我也不知道为什么。我正在使用相同的查询来返回记录(使用搜索),并且一切正常。

    private void Delete(MyClass someObject)
    {
        var response = elasticClient.DeleteByQuery<MyClass>(q => q                
            .Match(m => m.OnField(f => f.Guid).Equals(someObject.Guid))            
            );
    }
Run Code Online (Sandbox Code Playgroud)

我只是刚刚开始使用NEST,所以我确定这是一个非常简单的问题,而且我有点昏暗!

任何帮助/建议,不胜感激。

小智 6

更新NEST到版本6.4.0

var response = _client.DeleteByQuery<MyClass>(q => q
            .Query(rq => rq
                .Match(m => m
                .Field(f => f.Guid)
                .Query(guid.ToString())) 
            )
            .Index("Index_Name")
        );
Run Code Online (Sandbox Code Playgroud)


Mar*_*man 5

.Equals()是上的.NET方法Object支票是否相等。

如果您更改对它的调用Equals()Query(someObject.Guid)则应该可以使用。