简体   繁体   English

DeleteByQuery使用NEST和ElasticSearch

[英]DeleteByQuery using NEST and ElasticSearch

I'm having a little difficulty getting NEST's DeleteByQuery method to work. 我在使用NEST的DeleteByQuery方法时遇到了一些困难。

Very simply the query never finds anything to delete, and I can't figure out why. 很简单,查询永远不会找到要删除的内容,我无法弄清楚原因。 I'm using the same query to return records (using Search) and everything works as expected. 我使用相同的查询来返回记录(使用搜索),一切都按预期工作。

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

I've only just started using NEST, so I'm sure this is a pretty simple problem and I'm just being a little dim! 我刚刚开始使用NEST,所以我确定这是一个非常简单的问题而且我只是有点昏暗!

Any help/suggestions much appreciated. 任何帮助/建议非常感谢。

The .Equals() is a .NET method on Object that checks for equality. .Equals()Object上的.NET方法,用于检查是否相等。

If you change the call to Equals() to Query(someObject.Guid) it should work. 如果将对Equals()的调用更改为Query(someObject.Guid)它应该可以工作。

UPDATE "NEST" Version="6.4.0" 更新“NEST”版本=“6.4.0”

var response = _client.DeleteByQuery<MyClass>(q => q
            .Query(rq => rq
                .Match(m => m
                .Field(f => f.Guid)
                .Query(guid.ToString())) 
            )
        );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM