【发布时间】:2015-07-07 05:37:34
【问题描述】:
我正在尝试使用 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);
}
我已将 INDEX 用作所有字段的 NOT_ANALYZED。
有人可以指导我吗?
【问题讨论】:
-
我还在查询中添加了“类型”。但仍然 DELETE 不起作用
标签: elasticsearch nest