ElasticSearch 文档查询:单条件查询、分页查询、指定查询字段

条件查询

GET /toutiao_v1/_search
{
    "query":{
        "match":{
            "title":"入门"
        }
    }
}

执行结果:

{
    "took": 21,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 5,            //查询到的总共记录数
            "relation": "eq"
        },
        "max_score": 0.17402273,
        "hits": [
            {
                "_index": "toutiao",
                "_type": "_doc",
                "_id": "pGcmlnsBRQ4q0pqf1bII",
                "_score": 0.17402273,
                "_source": {
                    "title": "JAVA从入门到放弃",
                    "content": "JAVA高手的技巧,java基础、高级"
                }
            },
            {
                "_index": "toutiao",
                "_type": "_doc",
                "_id": "VmdIlnsBRQ4q0pqf57bv",
                "_score": 0.17402273,
                "_source": {
                    "title": "JAVA从入门到放弃",
                    "content": "JAVA高手的技巧,java基础、高级"
                }
            },
            {
                "_index": "toutiao",
                "_type": "_doc",
                "_id": "WWdIlnsBRQ4q0pqf9ra0",
                "_score": 0.17402273,
                "_source": {
                    "title": "JAVA从入门到放弃",
                    "content": "JAVA高手的技巧,java基础、高级"
                }
            },
            {
                "_index": "toutiao",
                "_type": "_doc",
                "_id": "F8JTl3sBF1sR4vvlFbwP",
                "_score": 0.17402273,
                "_source": {
                    "title": "JAVA从入门到放弃",
                    "content": "JAVA高手的技巧,java基础、高级"
                }
            },
            {
                "_index": "toutiao",
                "_type": "_doc",
                "_id": "1",
                "_score": 0.17402273,
                "_source": {
                    "title": "mysql从入门到放弃",
                    "content": "mysql技术内幕"
                }
            }
        ]
    }
}

分页条件查询

GET /toutiao_v1/_search
{
    "query":{
        "match":{
            "title":"入门"
        }
    },
    "from":0,    //当前页的起始条数,从0开始
    "size":2    //查询的记录数,即:每页显示的记录数
}

执行结果:

{
    "took": 6,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 5,                //查询到的总共记录数
            "relation": "eq"
        },
        "max_score": 0.17402273,
        "hits": [
            {
                "_index": "toutiao",
                "_type": "_doc",
                "_id": "pGcmlnsBRQ4q0pqf1bII",
                "_score": 0.17402273,
                "_source": {
                    "title": "JAVA从入门到放弃",
                    "content": "JAVA高手的技巧,java基础、高级"
                }
            },
            {
                "_index": "toutiao",
                "_type": "_doc",
                "_id": "VmdIlnsBRQ4q0pqf57bv",
                "_score": 0.17402273,
                "_source": {
                    "title": "JAVA从入门到放弃",
                    "content": "JAVA高手的技巧,java基础、高级"
                }
            }
        ]
    }
}

from 计算方式

from = (页码-1) * size

例子:

第1页的 from:(1-1) * 10

第2页的 from:(2-1) * 10

下一页

{
    "query":{
        "match":{
            "title":"入门"
        }
    },
    "from":2,    //第2页
    "size":2    //查询的记录数,即:每页显示的记录数
}

指定查询字段

相当于 select title from toutiao_v1

如下:

GET /toutiao_v1/_search
{
    "query":{
        "match":{
            "title":"入门"
        }
    },
    "from":0,
    "size":2,
    "_source":["title","author","like","date"]
}

查询结果:

{
  "took" : 0,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 5,
      "relation" : "eq"
    },
    "max_score" : 1.436875,
    "hits" : [
      {
        "_index" : "toutiao_v1",
        "_type" : "_doc",
        "_id" : "jl-h1H8BcF98mmCajh9j",
        "_score" : 0.40303767,
        "_source" : {
          "date" : "2021-08-29",
          "like" : 983,
          "author" : "韩梅梅",
          "title" : "JAVA从入门到放弃"
        }
      }
    ]
  }
}

原文出处:/show_1IX1lxxL3pe3.html