es的总结

es的collapse

es的collapse只能针对一个字段聚合(针对大数据量去重),如果以age为聚合字段,则会展示第一条数据,如果需要展示多个字段,需要创建新的字段,如下

javascript 复制代码
POST testleh/_update_by_query
{
  "script": {
    "source": "ctx._source.new_field = ctx._source.name+','+ctx._source.age "
  }
}

该代码以age和那么创建了一个newfiled,如下图

这时就可以重新使用collapse查询

javascript 复制代码
GET /testleh/_search
{
  "_source": "name", 
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "age": {
        "order": "desc"
      }
    }
  ],
  "collapse": {
    "field": "new_field.keyword"
  },
  
}

附上删除索引的代码

javascript 复制代码
POST testleh/_update_by_query
{
  "script": {
    "source": "if (ctx._source.containsKey('new_field')) { ctx._source.remove('new_field') }"
  }
}

term匹配多个查询条件

再者就是对于term匹配多个查询条件,代码如下,主要是should或者must里面一个大括号只能写一个term/match/range

javascript 复制代码
GET /testleh/_search
{
  "query": {
    "bool": {
      "should": [
        {
          "term": {
            "age": {
              "value": "18"
            }
          }
        },{
          "term": {
            "name": {
              "value": "李华"
            }
          }
        }
      ]
    }
  }
}

es的scroll可以对于大数据量进行查询,不适合实时查询展示

相关推荐
ShyanZh1 分钟前
Markitdown 多格式文档智能解析实战指南
开发语言·c#
一只专注api接口开发的技术猿4 分钟前
OpenClaw 对接淘宝商品 API,低成本实现全天候选品监控|附可运行 Python 实操代码
大数据·开发语言·数据库·python
xingpanvip6 分钟前
星盘接口开发文档:马盘次限盘接口指南
android·开发语言·python·php·lua
JustHappy6 分钟前
古法编程秘籍(四):函数究竟是什么?把函数最重要的能力一次讲清楚
前端·后端·面试
OpenTiny社区7 分钟前
一行命令添加 AI 对话入口!TinyRobot 也太省事了~
前端·vue.js·ai编程
FBI HackerHarry浩7 分钟前
第二阶段Day07【Python生成器、yield关键字、property、正则表达式】
开发语言·python·正则表达式
sagima_sdu9 分钟前
Vue 前端径向渐变背景制作
前端·javascript·vue.js
iiiiyu15 分钟前
IO流(二)
java·开发语言·数据结构·编程语言
白露与泡影15 分钟前
牛客网大厂Java面试题全集(2026版,附答案)
java·开发语言
_Evan_Yao16 分钟前
一文搞懂:Git分支管理与团队协作规范——从GitFlow到GitHub Flow,从rebase到merge,打造高效协作流
java·git·后端·github