Administrator
Published on 2023-07-06 / 59 Visits
0

elasticsearch的简单查询

一、elasticsearch的简单查询

1.term精确查询

POST /student2/_search
{
  "query": {
    "term": {
      "sex": {
        "value": "女"
      }
    }
  }
}

2.terms 多值精确查询

POST /student2/_search
{
  "query": {
    "terms": {
      "sex": [
        "男",
        "女"
      ]
    }
  }
}

3.match分词查询

POST /student2/_search
{
  "query": {
    "match": {
      "info": "上海工作自信"
    }
  }
}

4.multi_match多字段分词查询

POST /student2/_search
{
  "query": {
    "multi_match": {
      "query": "张三工作主动性",
      "fields": ["name","info"]
    }
  }
}

5.match_phrase 短语搜索

POST /student2/_search
{
  "query": {
    "match_phrase": {
      "info": "善于沟通谦虚自信"
    }
  }
}

6.范围查询

POST /student2/_search
{
  "query": {
    "range": {
      "age": {
        "gte": 10,
        "lte": 20
      }
    }
  }
}

7.IP类型查询

POST /student2/_doc
{
  "ip":"192.168.0.8",
  "age":10,
  "info":"OKOKOK",
  "name":"中文名2",
  "sex":10
}

GET /student2/_search
{
  "query": {
    "term": {
      "ip":{
        "value": "192.168.0.5"
      }
    }
  }
}

GET /student2/_search
{
  "query": {
    "range": {
      "ip": {
        "gte": "192.168.0.1",
        "lte": "192.168.0.6"
      }
    }
  }
}

8.坐标查询



POST /student2/_doc/
{
  "name": "广州公园前",
  "addr": "23.131479, 113.270719"
}

POST /student2/_doc/
{
  "name": "广百百货",
  "addr": "23.129881, 113.274646"
}

POST /student2/_doc/
{
  "name": "广州市妇幼医院",
  "addr": "23.129785, 113.260777"
}

POST /student2/_doc/
{
  "name": "广州市银河烈士陵园",
  "addr": "23.168615, 113.343607"
}


GET /student2/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match_all": {}
        }
      ], 
      "filter": {
        "geo_distance": {
          "distance": "1km",
          "addr": {
            "lat": 23.131304,
            "lon": 113.262402
          }
        }
      }
    }
  },
  "sort": [
    {
      "_geo_distance": {
        "unit": "m",
        "addr": {
          "lat": 23.131304,
          "lon": 113.262402
        },
        "order": "asc"
      }
    }
  ],
  "script_fields": {
    "distance": {
      "script": {
        "params": {
          "lat": 23.131304,
          "lon": 113.262402
        },
        "source": "doc['addr'].arcDistance(params.lat, params.lon)"
      }
    }
  }
}