问题
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