是否缓存ElasticSearch查询结果
本文关键字:结果 查询 ElasticSearch 缓存 是否 | 更新日期: 2023-09-27 17:51:20
我正在使用ElasticSearch 2.3和ASP。. NET web应用程序。我正在使用c# HttpClient
通过其REST API调用ElasticSearch。
我有一个问题,当尝试添加新的值到一个数组。
下面是我正在执行的查询:
步骤1:获取注释
POST /notes/note/_search
{
"query" : {
"term" : { "_id" : 1 }
}
}
只有一个注释,结果显示该注释包含一个附件的空数组
Step2:更新笔记附件数组
POST: /notes/note/1/_update
{
"doc" : {
"Attachments" : [ "Test" ]
}
}
Step3: Get note again
POST: /notes/note/_search
{
"query" : {
"term" : { "_id" : 1 }
}
}
结果显示注释仍然包含空的Attachments数组。
但是,当我从Kibana搜索/MatchAll时,我看到Attachments数组已经用新项目更新了。但是,当从ASP. js运行所有这些步骤时。. NET,当更新后立即搜索它时,我没有得到更新的文档。
这是由某种缓存引起的吗?
我必须做什么才能在执行更新后获得文档的一致状态?
感谢任何帮助!由于
可能发生的事情是刷新还没有到来。那么您就可以按id获取,但是更新还不能用于搜索。因此,在执行搜索之前强制刷新。当插入大量文档时,这确实会对性能产生影响。但是对于测试,你应该没问题。