Question

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.

Was it helpful?

Solution 2

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.

OTHER TIPS

UPDATE NEST to version 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")
        );
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top