【发布时间】:2021-02-03 22:49:13
【问题描述】:
Elasticsearch(v7.9.2) 获得了一个 api _cat/indices 来显示索引状态,对 docs.count 所做的最后更改似乎不可见,直到进行搜索或其他更新。 p>
这是为了提高性能吗?
还有,有没有办法让它始终保持最新状态?
@Update - 我如何反对这一点?
我正在使用logstash将数据导入es。
在浏览器中我打开了http://localhost:9200/_cat/indices?v。
每次导入后,我都会刷新浏览器页面,通常它会改变。
logstash 完成后,我终止它,页面中的计数小于源数据库(例如 mysql)的计数。
然后我一次又一次刷新页面,它不会改变。
但是,当我在postman 中发送查询请求以查询es 索引,然后再次刷新时,docs.count 发生了变化,总数变为与源数据库中的相同。
所以,我总结了以下行为:
- 首先,
docs.count在每次导入后都会更新(又名。插入)。 - 但是,随着导入持续一段时间,没有查询索引,页面的
docs.count停止更新。 - 然后,对索引的查询将强制
docs.count更新为正确的数字。 - 之后,将重复上述步骤。 看起来确实需要某种延迟优化。
还有来自http://localhost:9200/xxx/_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"
}
}
}
}
}
【问题讨论】:
-
不确定我是否理解,您能详细解释一下发生了什么吗?
-
@Val 我已经更新了问题,请检查。
-
你能用一些数字来支持你的主张吗?我怎样才能重现这个?
-
@Val 请检查问题中的
@Update部分。 -
您能分享一下您的索引设置,即您从
http://localhost:9200/your-index/_settings获得的信息吗?
标签: elasticsearch lucene elasticsearch-performance