我在使用NEST的DeleteByQuery方法时遇到了一些困难。
很简单,查询永远不会找到要删除的内容,我无法弄清楚原因。我使用相同的查询来返回记录(使用搜索),一切都按预期工作。
private void Delete(MyClass someObject)
{
var response = elasticClient.DeleteByQuery<MyClass>(q => q
.Match(m => m.OnField(f => f.Guid).Equals(someObject.Guid))
);
}
我刚刚开始使用NEST,所以我确定这是一个非常简单的问题而且我只是有点昏暗!
任何帮助/建议非常感谢。
答案 0 :(得分:4)
.Equals()
是Object
上的.NET方法,用于检查是否相等。
如果您将对Equals()
的通话更改为Query(someObject.Guid)
,则应该有效。
答案 1 :(得分:1)
更新“ NEST”版本=“ 6.4.0”
var response = _client.DeleteByQuery<MyClass>(q => q
.Query(rq => rq
.Match(m => m
.Field(f => f.Guid)
.Query(guid.ToString()))
)
);