Elasticsearch实战:索引与字段设计详解

需积分: 13 29 下载量 87 浏览量 更新于2024-09-08 收藏 20KB DOCX 举报
在本篇文档中,主要探讨了Elasticsearch (ES) 在实际开发环境中的数据结构设计,适用于监控和日志管理场景。文档详细列出了多个不同的索引和类型,每个都对应特定的数据类别和日期格式,以便于高效管理和查询。 1. **ES索引结构设计**: - ES采用倒排索引机制,根据时间维度创建索引,如`alarm_isms_yyyy_mm_dd`、`block_isms_yyyy_mm_dd`等,按照年月日组织日志数据,便于按时间范围进行检索。 - 索引名称如`alarm_isms`、`block_isms`等,代表不同的日志类型,如安全警报和封锁记录。 2. **字段设计**: - 每个索引包含多个字段,如`house_id`、`service_code`、`in_ip`等,这些字段类型多样,包括字符串、整数和日期,分别表示机房ID、服务代码、IP地址等关键信息。 - 查询字段如`key`、`house_id`、`scheme_id`等被标记为可用于查询,表明它们在搜索时会被频繁使用。 - 时间戳字段如`cur_time`用于存储报警时间,日期格式的字段通常会被处理成可搜索的数字形式。 3. **具体实例**: - `alarm_isms_2015_10_19/4`、`block_isms_2015_10_19/5`等表示具体日期下的子索引,如第4条警报记录和第5条封锁记录。 - `domain_activelog`、`ip_activelog`等反映了活跃域名和活跃IP的日志,例如`domain_activelog_2015_10_19/81`表示该日期内有81个活跃域名记录。 4. **违法违规与基础数据监测**: - `blackcmd_log`和`ismsm_housemonitor`分别用于记录违法违规行为和基础数据监控,如`blackcmd_log_2015_10_19/8`表示这一天有8条违法违规记录。 - 对于`ismsm_housemonitor_yyyy_mm_dd`,记录的是房屋监控数据,例如`ismsm_housemonitorr_2015_10_19/2`表示有2个监控点的数据。 5. **字段描述和用途**: - `host`字段存储域名,`url`字段用于记录请求URL,`content`字段保存报警原因或监测数据的具体内容,`is_read`表示某个记录是否已被阅读。 这份文档提供了在ES中设计数据结构的实用指南,对于处理日志类数据的系统设计和数据分析具有指导意义,通过合理的索引和字段规划,能够提高查询效率并支持复杂的数据分析需求。