Chi*_*mar 8 .net c# elasticsearch nest
我有以下的Nest查询来删除所有匹配的文档,非常直接,但我收到了400个错误的请求.
var client = new ElasticClient();
var request = new DeleteByQueryRequest<Type>("my-index")
{
Query = new QueryContainer(
new TermQuery
{
Field = "versionId",
Value = "ea8e517b-c2e3-4dfe-8e49-edc8bda67bad"
}
)
};
var response = client.DeleteByQuery(request);
Assert.IsTrue(response.IsValid);
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
---------------更新---------------
请求机构
{"query":{"term":{"versionId":{"value":"ea8e517b-c2e3-4dfe-8e49-edc8bda67bad"}}}}
Run Code Online (Sandbox Code Playgroud)
响应机构
{"took":0,"timed_out":false,"_indices":{"_all":{"found":0,"deleted":0,"missing":0,"failed":0}},"failures":[]}
Run Code Online (Sandbox Code Playgroud)
在Sense插件中查询:
GET /my-index/type/_search
{
"query": {
"match": {
"versionId": "ea8e517b-c2e3-4dfe-8e49-edc8bda67bad"
}
}
}
Run Code Online (Sandbox Code Playgroud)
查询响应:
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 116,
"max_score": 2.1220484,
"hits": []
...
}}
Run Code Online (Sandbox Code Playgroud)
--------------- NEST QUERY --------------
DELETE http://localhost:9200/my-index/component/_query?pretty=true
{
"query": {
"term": {
"versionId": {
"value": "ea8e517b-c2e3-4dfe-8e49-edc8bda67bad"
}
}
}
}
Status: 200
{
"took" : 0,
"timed_out" : false,
"_indices" : {
"_all" : {
"found" : 0,
"deleted" : 0,
"missing" : 0,
"failed" : 0
}
},
"failures" : [ ]
}
Run Code Online (Sandbox Code Playgroud)
听起来你可能正在使用Elasticsearch 2.x和NEST 2.x. 作为Elasticsearch 2.0的一部分,按查询删除已从Elasticsearch核心移出,并转移到需要安装的单独插件中.您可以使用Elasticsearch bin目录中的以下命令安装插件
bin/plugin install delete-by-query
Run Code Online (Sandbox Code Playgroud)
再次启动节点,按查询删除现在应该按预期工作.
如果您需要获取有关请求失败原因的更多详细信息,可以检查.DebugInformation
响应以获取请求的审计跟踪.
归档时间: |
|
查看次数: |
686 次 |
最近记录: |