Elasticsearch提供了基于JSON提供完整的查询DSL来定义查询
定义数据 :

根据前几节方式来定义数据,定义student的索引,文档分别为_doc 1001 —— ·1005

# POST /student/_doc/1001
{
"name":"zhangsan",
"nickname":"zhangsan",
    "sex":"男",
    "age":30
}
# POST /student/_doc/1002
{
"name":"lisi",
"nickname":"lisi",
    "sex":"男",
    "age":20
}
# POST /student/_doc/1003
{
"name":"wangwu",
    "nickname":"wangwu",
    "sex":"女",
    "age":40
}
# POST /student/_doc/1004
{
"name":"zhangsan1",
"nickname":"zhangsan1",
    "sex":"女",
    "age":50
}
# POST /student/_doc/1005
{
"name":"zhangsan2",
"nickname":"zhangsan2",
    "sex":"女",
    "age":30
}

查询所有文档
在 Postman中,向ES服务器发GET请求 :http://127.0.0.1:9200/student/_search

{
  "query": {
    "match_all": {}
  }
}
# "query":这里的query代表一个查询对象,里面可以有不同的查询属性
# "match_all":查询类型,例如:match_all(代表查询所有), match,term , range 等等
# {查询条件}:查询条件会根据类型的不同,写法也有差异

服务器响应结果如下

在这里插入图片描述

{
  "took【查询花费时间,单位毫秒】" : 6,
  "timed_out【是否超时】" : false,
  "_shards【分片信息】" : {
    "total【总数】" : 1,
    "successful【成功】" : 1,
    "skipped【忽略】" : 0,
    "failed【失败】" : 0
  },
  "hits【搜索命中结果】" : {
     "total"【搜索条件匹配的文档总数】: {
         "value"【总命中计数的值】: 3,
         "relation"【计数规则】: "eq" # eq 表示计数准确, gte表示计数不准确
     },
    "max_score【匹配度分值】" : 1.0,
    "hits【命中结果集合】" : [
       。。。
      }
    ]
  }
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐