gpt4 book ai didi

.net - Elasticsearch .net NEST - DeleteByQuery 不起作用但搜索相同的查询有效

转载 作者:行者123 更新时间:2023-11-29 02:55:15 24 4
gpt4 key购买 nike

我正在尝试使用 NEST 从我的 Elasticsearch 集合中删除一些文档

以下代码有效并返回 3 个文档:

var results = client.Search<JObject>(s => s.Query(q => q.Terms("string.ProgramId", ids))

但是当我像这样使用与 DeleteByQuery 相同的查询时:

var response = client.DeleteByQuery<string>(s => s.Query(q => q.Terms("string.ProgramId", ids)));

它抛出以下错误:

An unhandled exception of type 'Nest.DispatchException' occurred in Nest.dll

Additional information: Could not dispatch IElasticClient.DeleteByQuery() into any of the following paths:

- /{index}/_query

我做错了什么?

[编辑]

在另一个站点得到响应,我需要在使用破坏性端点(如删除)时指定索引。而且我需要在搜索/删除中指定相同的类型,以便在查询或指定 AllTypes() 时转到相同的路径

尝试了以下行:

var response = client.DeleteByQuery<JObject>(s => s.AllIndices().Query(q => q.Terms("string.ProgramId", ids)));

虽然这次没有抛出错误,但也没有返回任何结果。

最佳答案

得出以下结论:

如果您希望获得相同的结果,则需要让 Search 和 DeleteByQuery 使用相同的类型。

此外,删除确实发生了!但我期待回应。如果它删除了任何东西,我发现它是真的,但这并没有发生。

应该在 NEST 2.0 中修复(他们在这个问题之后推出了修复)

所以现在,您可以使用 response.IsValid 来验证它是否正常(但也许不是它删除了任何东西)

关于.net - Elasticsearch .net NEST - DeleteByQuery 不起作用但搜索相同的查询有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27479922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com