gpt4 book ai didi

c# - ElasticSearch 查询结果是否缓存?

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:35 27 4
gpt4 key购买 nike

我正在使用 ElasticSearch 2.3 和 ASP.NET 网络应用程序。我正在使用 C# HttpClient 通过其 REST API 调用 ElasticSearch。

我在尝试向数组添加新值时遇到问题。

这基本上是我正在执行的查询:

第 1 步:获取注释

POST /notes/note/_search
{
"query" : {
"term" : { "_id" : 1 }
}
}

只有 1 条笔记,结果显示该笔记包含一个空的附件数组

Step2:更新笔记附件数组

POST: /notes/note/1/_update
{
"doc" : {
"Attachments" : [ "Test" ]
}
}

第三步:再次获取笔记

POST: /notes/note/_search
{
"query" : {
"term" : { "_id" : 1 }
}
}

结果显示笔记仍然包含一个空的 Attachments 数组

但是,当我从 Kibana 搜索/匹配全部时,我看到附件数组已更新为新项目。但是,当从 ASP.NET 运行所有这些步骤时,在更新后立即搜索时我没有得到更新的文档。

这是由某种缓存引起的吗?

执行更新后,我必须做什么才能使文档状态保持一致?

感谢任何帮助!谢谢

最佳答案

可能发生的情况是刷新尚未到来。比您能够通过 id 获取,但更新尚不可用于搜索。所以在执行搜索之前强制刷新。当插入大量文档时,这确实会对性能产生影响。但是对于测试你应该没问题。

关于c# - ElasticSearch 查询结果是否缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38061920/

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