目前,我针对弹性服务器编写了一个查询,以使用旧的“BatchVersion”删除所有文档。在考虑之后,为了安全起见,我希望删除所有不等于当前“BatchVersion”的记录。这是我目前的代码
_client.DeleteByQuery<Data.ElasticSearch.Employee>(s => s
.Index(indexName)
.Size(1000)
.Query(q => q.
Bool(b => b.
MustNot(mn => mn.
Match(m => m.Field("BatchVersion").
Query([newVersionId]))))));
运行代码时,不会删除任何记录。有什么想法吗?
答案 0 :(得分:0)
我必须使用Default_Field才能工作。我用kibana来搞清楚。
_client.DeleteByQuery<Employee>(s => s
.Index(indexName)
.Size(1000)
.Query(q => q.
Bool(b => b.
MustNot(mn => mn.
QueryString(qs => qs.DefaultField("batchVersion").Query(newVersionId.ToString()))))));