elasticsearch ElasticSearch嵌套-DeleteByQuery(…)不起作用
我正在尝试使用DeleteByQuery(..)方法从ElasticSearch中删除特定文档,但它不起作用。我得到的回复显示了200个状态 如果搜索相同的查询,我可以得到结果 以下是我的问题-elasticsearch ElasticSearch嵌套-DeleteByQuery(…)不起作用,elasticsearch,nest,elasticsearch,Nest,我正在尝试使用DeleteByQuery(..)方法从ElasticSearch中删除特定文档,但它不起作用。我得到的回复显示了200个状态 如果搜索相同的查询,我可以得到结果 以下是我的问题- FilterContainer[] container = new FilterContainer[2]; FilterContainer TypeFilter = new TermFilter { Field = "TYPE", Value = TableName }; Fil
FilterContainer[] container = new FilterContainer[2];
FilterContainer TypeFilter = new TermFilter
{
Field = "TYPE",
Value = TableName
};
FilterContainer BRConnectionIDFilter = new TermFilter
{
Field = "BRCONNECTIONID",
Value = BRConnectionID
};
container[0] = TypeFilter;
container[1] = BRConnectionIDFilter;
IDeleteResponse response = objElasticNestClient.DeleteByQuery<dynamic>(s => s.Index(ExtractionContext.ElasticSearchIndex).Query(b => b.Filtered(q => q.Query(a => a.MatchAll()).Filter(f => f.Bool(m => m.Must(container))))));
if (!response.IsValid && response.ConnectionStatus.HttpStatusCode == 200)
{
throw new Exception("Delete failed for object " + TableName + ". Error: " + response.ServerError);
}
FilterContainer[]容器=新的FilterContainer[2];
过滤器容器类型过滤器=新术语过滤器
{
Field=“TYPE”,
值=表名
};
过滤器容器BRCONNECTIONDFILTER=新术语过滤器
{
Field=“BRCONNECTIONID”,
值=BRConnectionID
};
容器[0]=类型过滤器;
容器[1]=BRConnectionIDFilter;
ideletesponse response=objElasticNestClient.DeleteByQuery(s=>s.Index(ExtractionContext.ElasticSearchIndex).Query(b=>b.Filtered(q=>q.Query(a=>a.MatchAll()).Filter(f=>f.Bool(m=>m.Must(container ')));
如果(!response.IsValid&&response.ConnectionStatus.HttpStatusCode==200)
{
抛出新异常(“对象“+TableName+”的删除失败。错误:“+response.ServerError”);
}
我使用索引作为所有字段的未分析项
有人能给我介绍一下吗?在替换了下面的查询之后,它起了作用-
IDeleteResponse response = objElasticNestClient.DeleteByQuery<dynamic>(s => s.Index(ExtractionContext.ElasticSearchIndex).Type(TableName).Query(b => b.Filtered(q => q.Query(a => a.MatchAll()).Filter(f => f.Term("BRCONNECTIONID", BRConnectionID)))));
if (!response.IsValid && response.ConnectionStatus.HttpStatusCode == 200)
{
throw new Exception("Delete failed for object " + TableName + ". Error: " + response.ServerError);
}
ideletesponse response=objElasticNestClient.DeleteByQuery(s=>s.Index(ExtractionContext.ElasticSearchIndex).Type(TableName).Query(b=>b.Filtered(q=>q.Query(a=>a.MatchAll()).Filter(f=>f.Term(“BRCONNECTIONID”,BRCONNECTIONIDƗ)));
如果(!response.IsValid&&response.ConnectionStatus.HttpStatusCode==200)
{
抛出新异常(“对象“+TableName+”的删除失败。错误:“+response.ServerError”);
}
我还在查询中添加了“type”。但删除仍不起作用,请阅读以下内容: