多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 索引段 原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-segments.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-segments.html) 译文链接 : [索引段](/pages/viewpage.action?pageId=4260496) 贡献者 : [飞师傅](/display/~zhangyifei) 提供 **Lucene **索引构建的低级别段信息。允许用于提供分片和索引状态、可优化信息和删除引起的数据”浪费“等详细信息。 端点包括特定索引、多个索引或者全部的段。 ``` curl -XGET 'http://localhost:9200/test/_segments' curl -XGET 'http://localhost:9200/test1,test2/_segments' curl -XGET 'http://localhost:9200/_segments' ``` 响应: ``` { ... "_3": { "generation": 3, "num_docs": 1121, "deleted_docs": 53, "size_in_bytes": 228288, "memory_in_bytes": 3211, "committed": true, "search": true, "version": "4.6", "compound": true } ... } ``` _0 JSON文档的键是段的名字。此名称用户生成文件名:在分片目录中以此名称开头的所有文件都属于此段。 generation 当需要写入新的段时 ,`generation` 的数值会递增。段名称源于这个 `generation`数值。 num_docs 此分段中存储的未删除文档的数量。 deleted_docs 此分段中存储的已删除文档的数量。如果这个数字大于0,则当此分段合并时回收空间是完全正常的。 size_in_bytes 此分段使用的磁盘空间,单位是bytes。 memory_in_bytes 分段需要将一些数据存储到内存中以便高效搜索。此数字设置内存的字节数来达到此目的。当这个值为-1时 **Elasticsearch** 不会计算该值。 committed 表示分段是否已经在磁盘上同步。提交的分段可以在硬重启后保留。未提交的分段也会保存在事务日志中,以便 **Elasticsearch** 在下一次启动时重放变更,所以此值为`false`也无需担心。 search 表示该分段是否可以搜索。当值为`false`时很可能意味着改分段已经写入磁盘,但是之后没用刷新让它可以搜索。 version 表示编写此分段的Lucene版本。 compound 表示此分段是否存储在复合文件中。当为`true`时,这表示Lucene将分段中的所有文件都合并在一个文件中,以保存文件描述符。 ### 详细模式 要添加用于调试的附加信息,要使用`verbose`标志。 附加详细信息的格式处于实验阶段,随时可能修改。 ``` curl -XGET 'http://localhost:9200/test/_segments?verbose=true' ``` 响应: ``` { ... "_3": { ... "ram_tree": [ { "description": "postings [PerFieldPostings(format=1)]", "size_in_bytes": 2696, "children": [ { "description": "format 'Lucene50_0' ...", "size_in_bytes": 2608, "children" :[ ... ] }, ... ] }, ... ] } ... } ```