DeleteByQuery using NEST and ElasticSearch

夙愿已清 提交于 2019-12-06 04:23:24

问题


I'm having a little difficulty getting NEST's DeleteByQuery method to work.

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!

Any help/suggestions much appreciated.


回答1:


The .Equals() is a .NET method on Object that checks for equality.

If you change the call to Equals() to Query(someObject.Guid) it should work.




回答2:


UPDATE "NEST" Version="6.4.0"

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


来源:https://stackoverflow.com/questions/21475698/deletebyquery-using-nest-and-elasticsearch

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!