ElasticSearch查询实例等记录

查询实例:

1.type:xxx,value:xxx

复制代码
{
  "size": 0,
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "内容": "资产/负债"
          }
        }
      ]
    }
  },
  "aggs": {
    "3": {
      "terms": {
        "field": "所属年份",
        "size": 20
      },
      "aggs": {
        "4": {
          "terms": {
            "field": "数值"
          }
        }
      }
    }
  }
}

2.多条件查询 must变成数组,里面写成对象的形式

3.查询最新一年:range:{xxx,format:xxx} 最新几个月

elasticsearch时间范围查询中的format参数用于指定日期格式。当执行时间范围查询时,elasticsearch需要知道如何解析和比较日期字段的值。

format参数可以接受多种日期格式,例如:"yyyy-MM-dd","yyyy/MM/dd","dd.MM.yyyy"等。通过指定正确的日期格式,elasticsearch可以正确地解析日期字段的值,并将其与查询中指定的时间范围进行比较。

如果没有明确指定format参数,elasticsearch会尝试使用默认的日期格式进行解析。然而,如果日期字段的值不符合默认的格式,那么查询可能会失败或者返回不准确的结果。

因此,在执行时间范围查询时,确保正确指定format参数以匹配日期字段的实际格式,这样可以确保查询的准确性和一致性。

没有配置format的时候,查询出来的数据少了最新一年最新一个月份的

3-1.需求:取最新一年,最新10个月的数据
复制代码
      "date_histogram": {
        "field": "所属年份",
        "interval": "1M",
        "time_zone": "Asia/Shanghai"
      },
// 暂未理解,写成"terms": {"field": "所属年份","size": 99}, 也是正确结果好像

{
  "size": 0,
    "query": {
    "bool": {
      "must": [
        {
          "term": {
            "内容": "客服答疑数"
          }
        },
        {
          "range": {
            "_time": {
              "gte": "now/y",
              "lt": "now/d",
              "format": "yyyy-MM-dd HH:mm:ss",
              "time_zone": "+08:00"
            }
          }
        }
      ]
    }
  },
  "aggs": {
    "3": {
      "date_histogram": {
        "field": "所属年份",
          "interval": "1M",
          "time_zone": "Asia/Shanghai"
      },
      "aggs": {
        "4": {
          "sum": {
            "field": "数值"
          }
        }
      }
    }
  }
}
3-2.查询最新一年最新一个月 不同类型内容求和

可以先取出最新一年中最新几个月的,在通过js取数组中第一个就是最新的一个月的数据

复制代码
{
  "size": 0,
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "资金性质": "活期"
          }
        },
        {
          "range": {
            "_time": {
              "gte": "now/M-10M",
              "lt": "now/d+1d",
              "format": "yyyy-MM-dd HH:mm:ss",
              "time_zone": "+08:00"
            }
          }
        }
      ]
    }
  },
  "aggs": {
    "1": {
     // es提供的时间处理函数 
      "date_histogram": {
        "field": "所属年份",// 需要聚合分组的字段名称, 类型需要为date, 格式没有要求
        "interval": "1M", // 按什么时间段聚合, 5m就是5分钟, 可用的interval在上面给出
        "time_zone": "Asia/Shanghai" // 设置时区, "time_zone":"+08:00", 这样就相当于东八区的时间
      },
      "aggs": {
        "2": {
          "sum": {
            "field": "金额(万元)"
          }
        }
      }
    }
  }
}

最后再取数组中第0位即可

3-2.查询最近一周

4.模糊查询 分词wildcard

其中?代表任意一个字符*代表任意的一个或多个字符 ??

复制代码
{
  "size": 0,
  "query": {
    "bool": {
      "must": [
        {
          "wildcard": {
            "内容": "*本年预算支出*"  //其中?代表任意一个字符,*代表任意的一个或多个字符
          }
        },
        {
          "range": {
            "_time": {
              "gte": "now/y",
              "lt": "now/d+1d",
              "format": "yyyy-MM-dd HH:mm:ss",
              "time_zone": "+08:00"
            }
          }
        }
      ]
    }
  },
  "aggs": {
    "1": {
      "sum": {
        "field": "本年数(元)"
      }
    }
  }
}

5.查询部分数据

{

"size": 10,

"query": {

"bool": {

"must": {

"match_all": {}

},

"filter": {

"bool": {

"must": [

{

"match_all": {}

}

],

"must_not": []

}

}

}

},

"_source": [

"媒体名称",

"采访事由",

"联系单位",

"是否同意采访"

],

"aggs": {}

}

相关推荐
是垚不是土1 小时前
ClaudeCode×Elasticsearch:服务日志查询的 AI 化落地实践
大数据·运维·人工智能·elasticsearch·云计算·jenkins
我是苏苏1 小时前
Web开发:自动化部署!在Windows系统上安装和使用Jenkins!
运维·自动化·jenkins
丈剑走天涯1 小时前
kubernetes Jenkins 二进制安装指南
java·kubernetes·jenkins
悟凡爱学习1 小时前
Linux 操作系统&消息队列
linux·运维·服务器
i建模1 小时前
Ubuntu增加安装桌面环境
linux·运维·ubuntu
嵌入式×边缘AI:打怪升级日志1 小时前
2.3.2 目录与文件操作命令(保姆级详解)
linux·运维·服务器
艾莉丝努力练剑1 小时前
MySQL查看命令速查表
linux·运维·服务器·网络·数据库·人工智能·mysql
无心水1 小时前
【OpenClaw:进阶开发】11、OpenClaw插件开发入门——从零编写“文件统计与报表生成”Skill
linux·运维·ubuntu
sbjdhjd1 小时前
RHCE | Linux 例行性工作(定时任务)从入门到精通
linux·运维·服务器·华为·云计算
枷锁—sha1 小时前
【CTFshow-pwn系列】03_栈溢出【pwn 056-057】详解:32位 与64位Shellcode 与 Linux 系统调用底层原理剖析
linux·运维·网络·笔记·安全·网络安全·系统安全