日志页
查询
按钮
- 除平台外的按钮覆盖了所有的日志类型(除非某地方 level/event 写错了)
- 由于删掉以前的库后数据量较少,跟数据量多时使用的索引可能不一样
- 反正有索引就行
- 以下查询跟索引一一对应
{'level': {'$in': ['INFO', 'ERROR']}{'level': 1, 'time': -1}
{'$or': [{'level': 'DEBUG', 'event': '错误堆栈', 'source': 'system', 'message':{'$regex': '^[消息处理]'}}, {'event': '消息处理', 'source': 'message'}]}{'source': 1, 'event': 1, 'time': -1}
{'source': 'adapter', 'event': {'$in': ['消息接收', '消息去重', '消息超时']}}{'source': 1, 'event': 1, 'time': -1}
{'level': 'DEBUG', 'source': 'adapter', 'event': '消息发送'}{'source': 1, 'event': 1, 'time': -1}
{'level': 'INFO', 'source': 'message', 'event': '消息分析'}{'source': 1, 'event': 1, 'time': -1}
{'source': 'system', '$or': [{'level': 'DEBUG', 'event': '错误堆栈', 'message':{'$regex': '^[定时任务]'}}, {'level': 'ERROR', 'event': '定时任务'}]}{'source': 1, 'time': -1}
{'$or': [{'level': 'DEBUG', 'event': '错误堆栈', 'source': 'system', 'message':{'$regex': '^[后端运行]'}}, {'event': {'$ne': '网页日志'}, 'source': 'website'}]}{'source': 1, 'time': -1}{'source': 1, 'event': 1, 'time': -1}
{'source': 'website', 'event': '网页日志'}{'source': 1, 'event': 1, 'time': -1}
{'source': 'server'}{'source': 1, 'time': -1}
{'source': 'napcat'}{'source': 1, 'time': -1}
{'source': 'message', 'event': '文件处理'}{'source': 1, 'event': 1, 'time': -1}
{'source': 'system', 'event': {'$nin': ['错误堆栈', '定时任务']}}{'source': 1, 'time': -1}
{'message': {'$regex': '^[加载]'}}{'time': -1}
{'$text': {'$search': 'LR5921'}, 'hasTextIndex': True}{'_fts': 'text', '_ftsx': 1, 'time': -1}
正则表达式
前缀
- 前缀,正则表达式,使用 ^,可提速
- 前缀的优化范围
- 最优的是常见的 ASCII 区间,如常见符号,英文,数字
- 次优的是中文字符
- 最差的是 utf-8 类杂项,分布在 Unicode 高字段,如"⌈"
- 以下为前缀可能的字段
[加载]
[重载]
[配置数据]
[数据库]
[索引创建]
[索引删除]
[初始化]
[任务]
[信号]
[消息处理]
[定时任务]
[后端运行]
[服务器]
方法(get,post)
[网页服务]等 L5 中的值
[接收]
[令牌刷新]
[(消息发送类型)]
[消息清理]
[(消息类型)]
[消息解析]
[消息处理]
[(指令类型)]
[文图转换]等 L6 中的值
搜索
- 搜索字段中的零散字段,需要全表扫描,不建议
- 建议转换为关键字或前缀
关键字
- 关键字,作为 text 字段传入,由于 mongodb 的分割特性,必须传整句
- 如""配置" 搜索不到 [配置数据] 的相关字段
- 可使用正则表达式中的字段(效果不如正则)
LR5921
LR232
WECHAT
BILI
消息接收
(消息发送类型)
回调配置
文件上传
消息
配置数据
future
数据库
数据
文件处理