随笔 - 42  文章 - 0 评论 - 1 阅读 - 18216
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

插入数据
PUT /megacorp/employee/1 { "first_name" : "John", "last_name" : "Smith", "age" : 25, "about" : "I love to go rock climbing", "interests": [ "sports", "music" ] }
megacorp 是index 索引,等于mysql里的库
employee 是type  类型  ,等于mysql里的表

1是 id ,等于mysql里的列
"first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]  是 文本 ,等于mysql里的字段

检索数据
GET /megacorp/employee/1    获取megacorp 索引里employee 类型里 id为1的数据
GET /megacorp/employee/_search     获取megacorp 索引里employee 类型里 所有id所有数据

GET /megacorp/employee/_search?q=last_name:Smith    获取megacorp 索引里employee 类型里  条件为last_name是smith的数据(q=QueryString)
GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "last_name" : "Smith"
        }
    }
}                                                   与上一个查询效果相同,写法不同

GET /megacorp/employee/_search
{
    "query" : {
        "bool": {
            "must": {                   must 表示必须符合条件
                "match" : {
                    "last_name" : "smith" 
                }
            },
            "filter": {
                "range" : {             filter表示条件过滤   gt大于
                    "age" : { "gt" : 30 } 
                }
            }
        }
    }
}

GET /megacorp/employee/_search
{
    "query" : {
        "match" : {                            代表包含该文本的所有数据,根据符合度高低进行排序
            "about" : "rock climbing"          在about字段上所有符合条件的
        }
    }
}

GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {                  代表要完全符合下面的查询条件
            "about" : "rock climbing"
        }
    }
}
 
GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    },
    "highlight": {                  高亮查询
        "fields" : {
            "about" : {}
        }
    }
}

GET /megacorp/employee/_search
{
  "aggs": {
    "all_interests": {                  等于mysql中group by的作用   
      "terms": { "field": "interests" }   根据字段 interests 做分类
    }
  }
}

GET /megacorp/employee/_search                组合查询,先匹配 last_name 等于smith 的,再根据interests 进行group by
{
  "query": {
    "match": {
      "last_name": "smith"
    }
  },
  "aggs": {
    "all_interests": {
      "terms": {
        "field": "interests"
      }
    }
  }
}


/_search
/gb/_search
gb
/gb,
us/_search
gb
us
/g*,u*/_search
g
u
/gb/user/_search
gb
user
/gb,us/user,tweet/_search
gb
us
user
tweet
/_all/user,tweet/_search
user
tweet
GET /_search?size=5          分页,每页5条
GET /_search?size=5&from=5   从第5页开始第5页结束
GET /_search?size=5&from=10  从第5也开始第10页结束
 
GET /_all/tweet/_search?q=tweet:elasticsearch    获取_all索引里tweet类型里  tweet字段包含elasticsearch文本
GET /_search?q=%2Bname%3Ajohn+%2Btweet%3Amary     模糊查询
 
 
 
 
 
 
 


 
 
 


 
posted on   我叫福禄娃  阅读(37)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示