elasticsearch ElasticSearch嵌套-DeleteByQuery(…)不起作用,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch ElasticSearch嵌套-DeleteByQuery(…)不起作用,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch ElasticSearch嵌套-DeleteByQuery(…)不起作用

elasticsearch ElasticSearch嵌套-DeleteByQuery(…)不起作用,elasticsearch,nest,elasticsearch,Nest,我正在尝试使用DeleteByQuery(..)方法从ElasticSearch中删除特定文档,但它不起作用。我得到的回复显示了200个状态 如果搜索相同的查询,我可以得到结果 以下是我的问题- FilterContainer[] container = new FilterContainer[2]; FilterContainer TypeFilter = new TermFilter { Field = "TYPE", Value = TableName }; Fil

我正在尝试使用DeleteByQuery(..)方法从ElasticSearch中删除特定文档,但它不起作用。我得到的回复显示了200个状态

如果搜索相同的查询,我可以得到结果

以下是我的问题-

 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”。但删除仍不起作用,请阅读以下内容: