栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Elasticsearch——CRUD

Elasticsearch——CRUD

文章目录

用到的工具索引数据操作

添加删除修改查询 复杂查询全文搜索

用到的工具

Elasticsearch

Kibana:方便的查询。

见Docker——配置Elasticsearch

索引

Kibana界面地址:http://localhost:5601/app/dev_tools#/console

创建

user是索引名称。

PUT /user

获取

GET /user

删除

DELETe /user

列出所有

GET /_cat/indices?v
数据操作 添加
POST /user/_doc
{
	"name":"张三",
	"age":23
}

指定ID

POST /user/_doc/1
{
	"name":"李四",
	"age":16
}
删除
DELETE /user/_doc/1
修改

put全部修改

PUT /user/_doc/1
{
  "age":26
}

post修改一部分

POST /user/_update/1
{
  "doc":{
		"age":11
	}
}
查询

所有

GET /user/_search

指定列,排除列

GET /user/_search
{
  "_source": {
    "includes": ["name"],
    "excludes": ["age"]
  }
}

ID查

GET /user/_search/1
复杂查询

查询文档数量

GET /user/_count

查询一个词语的分词结果

POST /_analyze
{
  "text": ["hello world"]
}

条件查询

GET /user/_search
{
  "query": {
    "match":{
      "age":"24"
    }
  }
}

分页查询

GET /user/_search
{
  "query": {
    "match":{
      "age":"24"
    }
  },
  "from": 0,
  "size":1
}

筛选列

GET /user/_search
{
  "query": {
    "match":{
      "age":"24"
    }
  },
  "from": 0,
  "size":1,
  "_source": ["name"]
}

排序

GET /user/_search
{
  "query": {
    "match":{
      "age":"24"
    }
  },
  "from": 0,
  "size":1,
  "_source": ["name"],
  "sort": {
    "age": {
      "order": "desc"
    }
  }
}

多条件

而且

GET /user/_search
{
  "query": {
    "bool":{
      "must":[
        {
          "match": {
            "age": "24"
          }
        },{
          "match": {
            "name": "张三"
          }
        }
      ]
    }
  }
}

或者

GET /user/_search
{
  "query": {
    "bool":{
      "should":[
        {
          "match": {
            "age": "24"
          }
        },{
          "match": {
            "age": "16"
          }
        }
      ]
    }
  }
}

范围

GET /user/_search
{
  "query": {
    "bool":{
      "filter": {
        "range": {
          "age": {
            "gte": 18,
            "lte": 200
          }
        }
      }
    }
  }
}

高亮显示(HTML处理)

GET /user/_search
{
  "query": {
    "match":{
      "name":"张"
    }
  },
  "highlight": {
    "fields": {
      "name": {}
    }
  }
}

分组

GET /user/_search
{
  "aggs": {
    "通缉名单": {
      "terms": {
        "field": "age"
      }
    }
  }
}

统计

GET /user/_search
{
  "aggs": {
    "通缉名单": {
      "avg": {
        "field": "age"
      }
    }
  }
}
全文搜索

之前只是当SQL来用,很捞。

查一个张,就能查到张三

GET /user/_search
{
  "query": {
    "match":{
      "name":"张"
    }
  }
}

完全匹配,只有张才行。

GET /user/_search
{
  "query": {
    "match_phrase":{
      "name":"张"
    }
  }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/730275.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号