- 文档首页
日志服务
最佳实践
检索分析
检索分析 JSON 日志
检索分析 JSON 日志
本文以电商平台的订单系统日志为例,介绍 JSON 格式日志的典型检索分析场景及示例。
某电商公司的订单系统每天需要处理成千上万笔的交易请求,并生成海量的 JSON 格式日志。这些 JSON 日志详细记录了每个订单的详细信息,例如用户信息(用户 ID、用户地址、用户昵称等)、购买信息(商品 ID、商品名称、商品价格、商品数量)、订单信息(订单 ID、订单总价、订单状态、支付方式、快递时间等)等。
面对电商公司订单系统产生的复杂 JSON 日志,日志服务不仅是一个存储仓库,更是一个强大的分析平台。日志服务提供 JSON 类型的索引配置,极大增强了对 JSON 日志的结构化管理效率,实现复杂结构中的字段内容也能被精准索引。日志服务还内置了丰富的 JSON 函数,支持高效的日志解析和内容提取。
- 已创建日志项目和日志主题。具体操作,请参考创建资源。
- 已根据日志字段创建索引。具体操作,请参考配置索引。
下述罗列了订单系统 JSON 日志样例。
本案例基于上述日志样例创建了如下索引配置。索引配置的具体操作及注意事项,请参考配置索引。
其中,customer 字段是 JSON 对象,日志服务支持对 customer 字段内的子字段设置索引,并支持字段检索分析。关于 JSON 数据类型索引的详细说明及注意事项请参考json 类型。
通过 JSON 日志介绍 JSON 字段的检索分析示例和 JSON 函数的使用示例。
- 场景:查询 CUST987654321 用户所有订单的详细信息。
-
- 场景:查询用户 ID 以 CUST98 开头的所有订单的详细信息。
- 使用模糊查询时,需在关键词中添加通配符星号(*)或者问号(?)。详细说明请参考日志检索。
-
- 场景:查询用户地址为 Guangzhou 的所有请求信息。
- customer.address 字段已配置键值索引并开启分词符功能,因此日志服务会基于分词符将字段值拆分为多个关键词,并支持上述键值查询。
-
- 场景:查询用户地址包含 123 Main St 街道的所有请求信息。
- 其中,123 Main St为三个关键字包含空格,因此通过 123 Main St 进行检索时需使用双引号("")包裹。
-
场景 5:使用 JSON 函数提取 JSON 字段值
- 场景:查看某用户在指定订单中购买的第一件商品。
说明
在 SQL 语句中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。其中,JSON 字段(例如 customer.customer_id),必须使用双引号("")包裹。
- JSON_PARSE 函数用于将 JSON 格式的字符串(items 字段的值)转化成 JSON 类型,详细说明请参考JSON_PARSE 函数。
- JSON_ARRAY_GET 函数用于提取 items 字段值中的第一个元素(例如 "product_id":"PROD001"),详细说明请参考JSON_ARRAY_GET 函数。
- JSON_EXTRACT_SCALAR 函数用于从上述提取到的元素(例如"product_id":"PROD001")中提取 product_id 字段的值,详细说明请参考JSON_EXTRACT_SCALAR 函数。
-
说明
在 SQL 语句中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。其中,JSON 字段(例如 customer.customer_id),必须使用双引号("")包裹。
-
说明
在 SQL 语句中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。其中,JSON 字段(例如 customer.customer_id),必须使用双引号("")包裹。
- GROUP BY "城市" 子句用于按照城市分组来统计各个城市的支付费用。
-
最近更新时间:2026.09.07 18:11:38