elasticsearch(v7.9.2)有一个api _cat/indices
要显示索引状态,对 docs.count
在进行搜索或其他更新之前,似乎不可见。
这种行为是为了提高绩效吗?
还有,有什么办法让它总是最新的吗?
@更新-我是怎么正面的?
我用logstash把数据导入es。在我打开的浏览器中 http://localhost:9200/_cat/indices?v
.
每次导入后,我都会刷新浏览器页面,通常它会更改。
在logstash完成并终止它之后,页面中的计数小于源数据库(例如mysql)中的计数。
然后我一次又一次刷新页面,它不会改变。
但是,当我在 postman
要查询es索引,然后再次刷新 docs.count
更改后,总计数与源数据库中的计数相同。
所以,我总结一下以下行为:
一开始 docs.count
每次导入后都要更新(又名。插入)。
但是,随着导入操作持续一段时间,在不查询索引的情况下,页面的 docs.count
已停止更新。
然后,对索引的查询将强制 docs.count
更新到正确的号码。
之后,重复上述步骤。它看起来确实像某种延迟,直到必要的优化。
以及,从 http://localhost:9200//_settings
:
(根据评论要求):
{
"xxx" : {
"settings" : {
"index" : {
"number_of_shards" : "1",
"provided_name" : "xxx",
"creation_date" : "1602844600812",
"analysis" : {
"analyzer" : {
"default_search" : {
"type" : "ik_max_word"
},
"default" : {
"type" : "ik_max_word"
}
}
},
"number_of_replicas" : "0",
"uuid" : "qLFMHhyBQNOOs1u_EcJbBg",
"version" : {
"created" : "7090299"
}
}
}
}
}
1条答案
按热度按时间ahy6op9u1#
刷新时将显示上次文档计数。它将根据refresh.interval设置定期刷新。
from documentation:elasticsearch每秒定期刷新索引,但仅针对在过去30秒内收到一个或多个搜索请求的索引。