赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 查询与分析
  6. 通过索引模式查询和分析日志
  7. 数据类型

数据类型

  • 通过索引模式查询和分析日志
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

您在创建索引时,可将字段的数据类型设置为text、long、double或JSON。本文介绍各个数据类型的配置示例及注意事项。

数据类型概述

在创建索引时,日志服务提供如下数据类型,请按情况进行选择:

  • text、long、double类型:

    • 如果您要查询和分析字符串类型的字段,需在配置索引时,将字段的数据类型设置为text,并开启统计功能。

    • 只有字段的数据类型为long或double时,您才能通过数值范围查询该字段的值,但不支持使用星号(*)或半角问号(?)进行模糊查询。

      • 如果日志字段的值为整数类型,请将字段的数据类型设置为long。

      • 如果日志字段的值为浮点数类型,请将字段的数据类型设置double,否则无法查询该字段。

      • 如果设置数据类型为long或double,而实际字段值为字符串类型,则无法查询该字段。

      重要

      如果字段的值为非法的数值,则使用not key > -1000000语句进行查询,表示查询所有有效数值之外的日志,其中-1000000为足够小的值即可。

  • JSON类型:字段的值为JSON类型,您可在配置索引时,将字段的数据类型设置为JSON。

    • 针对JSON对象中的字段,您可根据其值,将数据类型设置为long、double或text,并开启统计功能。开启统计功能后,日志服务支持您查询和分析JSON对象中的字段。

      通过选中对Json内所有文本字段自动索引,可实现JSON对象中的所有文本字段自动创建索引。创建索引后,将产生索引流量。image.png

    • 针对非完全合法的JSON数据,日志服务支持解析合法部分。

      例如以下为非完整的JSON日志,日志服务可正确解析content.remote_addr字段、content.request.request_length字段和content.request.request_method字段。

      content: {
           remote_addr:"192.0.2.0"
           request: {
                   request_length:"73"
                   request_method:"GE
      重要
      • 日志服务支持JSON对象中的叶子节点建立索引,但不支持包含叶子节点的子节点建立索引。

      • 日志服务不支持值为JSON数组的字段建立索引,也不支持JSON数组中的字段建立索引。

      • 如果字段的值为Boolean类型,则您可以在建立索引时,将字段的数据类型设置为text。

      • 查询和分析语句格式为查询语句|分析语句。在分析语句中,您必须使用双引号("")包裹字段名称,使用单引号('')包裹字符串。

    • 更多参考信息

      • 关于查询和分析JSON日志的更多操作场景和常见问题,包括设置索引、查询和分析具有索引的JSON字段、使用JSON函数、分析JSON数组等,请参见查询和分析JSON日志的常见问题。

      • 查询和分析JSON日志相关的基础配置和基本用法,请参见查询和分析JSON日志。

      • 在查询和分析JSON日志时,如果数据量比较小,您可以不对JSON叶子节点建立字段索引,而是使用JSON函数进行查询和分析。另外,针对一些特殊情况,只能使用JSON函数进行查询与分析。相关案例,请参见何时使用JSON函数。关于JSON函数的完整介绍和案例,请参见JSON函数。

操作步骤

  1. 在创建索引中按照控制台方式进行索引创建。

  2. 在配置索引中选择对应的索引类型。

    text、long、double类型

    • 日志样例text日志样例

    • 配置索引text索引

    • 查询和分析语句示例

      • 查询请求时间大于60秒的日志:request_time > 60。

      • 查询请求时间大于等于60秒,并且小于200秒的日志:request_time in [60 200)或者request_time >= 60 and request_time < 200。

      • 查询请求状态码为200的日志:status = 200。

      • 查询非GET请求的日志:not request_method : GET。

      • 查询以cn开头的日志:cn*。

      • 统计客户端分布情况:* | SELECT ip_to_province(client_ip) as province, count(*) AS pv GROUP BY province ORDER BY pv。

    JSON类型

    • 日志样例

      JSON日志样例如下所示,除日志服务保留字段外,还包括class字段、latency字段、status字段和info字段。其中info字段的值是JSON对象,并存在多层嵌套。

      JSON日志样例

    • 配置索引配置索引

      相关说明如下:

      • IP字段和data字段的值为JSON数组,所以您无法为IP字段和data字段建立索引,也无法通过这两个字段进行查询和分析。

      • region字段和CreateTime字段在JSON数组中,所以您无法为region字段和CreateTime字段建立索引,也无法通过这两个字段进行查询和分析。

    • 查询和分析语句示例

      • 查询usedTime字段的值大于60秒的日志:info.usedTime > 60。

      • 查询success字段的值为true的日志:info.success : true。

      • 查询usedTime字段的值大于60秒且projectName的值不为project01的日志:info.usedTime > 60 not info.param.projectName : project01。

      • 计算获取Project信息的平均时长:methodName = getProjectInfo | SELECT avg("info.usedTime") AS avg_time。

相关文章

查询与分析快速指引 2025-04-22 10:58

日志服务提供查询和分析功能,支持秒级查询十亿到千亿级别的日志,并支持通过SQL对查询结果进行统计分析。本文以Nginx日志为例,为您介绍如何快速开启索引,并在控制台完成查询与分析的基本操作。

创建索引 2025-04-22 10:58

如需对采集到Logstore中的日志进行查询和分析,则必须创建索引。本文为您介绍日志服务索引概念、索引类型、创建索引、关闭索引、配置示例和计费说明等。

数据类型 2025-04-22 10:58

您在创建索引时,可将字段的数据类型设置为text、long、double或JSON。本文介绍各个数据类型的配置示例及注意事项。 数据类型概述 在创建索引时,日志服务提供如下数据类型,请按情况进行选择: text、long、double类型:

重建索引 2025-04-22 10:58

当您需要对历史数据配置索引或修改索引时,可以使用重建索引功能。日志服务支持在选定的时间段中按照最新的索引规则为Logstore重建索引。本文介绍如何在日志服务控制台上重建索引及相关信息。 前提条件 已开启索引。具体操作,请参见创建索引

保留字段 2025-04-22 10:58

在采集日志或投递数据到其他云产品时,日志服务会将日志来源、时间戳等信息以Key-Value对的形式添加到日志中。这些字段是日志服务的保留字段。本文介绍日志服务的保留字段。

查询语法与功能 2025-04-22 10:58

日志服务Logstore支持使用查询语句对存储在Logstore中的日志进行筛选。筛选结果可独立使用,也可以用于分析语句,进行更复杂的分析处理。本文介绍查询语句的语法结构,以及应用场景和具体示例。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号