重建索引的条件

如果索引存在碎片,那每个索引数据块上的索引数据就更少,会导致我们需要访
问更多的索引数据块。这时,我们需要考虑重建索引来释放碎片;


判断一个所以是否需要重建,我们介绍一个简单的方法:

对一个索引进行结构分析后,如果该索引占用超过了一个数据块,且满足以下条件之一:

 

1:B-tree 树的高度大于3

 

2:使用百分比低于75%

 

3:数据删除率大于15%

 

 

就需要考虑对索引重建:


SQL> analyze index VEHICLEALARM_ALARMTIME compute statistics;
Index analyzed.

 

SQL> analyze index VEHICLEALARM_ALARMTIME validate structure;
Index analyzed.

 

SQL> select btree_space, -- if > 8192(块的大小)
 height, -- if > 3
 pct_used, -- if < 75
 del_lf_rows/(decode(lf_rows,0,1,lf_rows)) *100 as deleted_pct -- if >20%
 from index_stats;

 

 


BTREE_SPACE   HEIGHT     PCT_USED  DELETED_PCT
-----------          ----------    ----------     -----------
880032              2                 89                 0

您好!对于 Elasticsearch 来说,如果搜索不到重建索引的问题,可能有几种原因导致。下面是一些常见的解决方法: 1. 确保索引存在:首先,您需要确认您要搜索的索引是存在的。您可以使用 Elasticsearch 的管理 API(例如 `_cat/indices`)来检查索引的存在性。 2. 确保数据已经被索引:如果数据没有被正确索引,那么搜索时是搜索不到的。您可以检查您的索引过程是否有任何错误或者警告信息。另外,您也可以通过搜索一些已知存在的文档来验证索引是否成功。 3. 确保搜索语句正确:请确保您的搜索语句正确无误。您可以使用 Elasticsearch 的开发者工具或者 Kibana 的 Dev Tools 来进行搜索测试,以确保语法和查询逻辑正确。 4. 确保字段被正确映射:如果您使用了自定义的映射,那么请确保字段的类型和分析器等设置是正确的。如果字段的映射不正确,可能会导致搜索不到结果。 5. 检查集群状态:确保 Elasticsearch 集群正常运行,并且没有任何错误或者故障。您可以使用 Elasticsearch 的健康检查 API 来验证集群的状态。 6. 检查搜索条件:请确保搜索条件与您的数据匹配。如果您使用了过滤器或者聚合,那么请确保它们的设置正确,并且不会过滤掉您要搜索的数据。 如果您仍然无法解决问题,建议您提供更多的细节和错误信息,以便我们更好地帮助您解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值