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

ElasticSearch学习(四)ElasticSearch基本操作

ElasticSearch学习(四)ElasticSearch基本操作

methodurl描述
PUTlocalhost:9200/索引/类型/文档id创建文档(随机ID)
POSTlocalhost:9200/索引/类型创建文档(指定ID)
POSTlocalhost:9200/索引/类型/文档id/_update修改文档
DELETElocalhost:9200/索引/类型/文档id删除文档
GETlocalhost:9200/索引/类型/文档id通过文档id查询稳定
POSTlocalhost:9200/索引/类型/_search查询所有数据
一、系统指令相关(_cat)

查询所有支持的cat指令

GET _cat

查询结果

# 显示每个节点分片数量、占用空间
/_cat/allocation
#显示索引分片信息
/_cat/shards
/_cat/shards/{index}
#显示master节点信息
/_cat/master
#显示node节点信息
/_cat/nodes
/_cat/tasks
#索引信息
/_cat/indices
/_cat/indices/{index}
#查看 索引占用内存情况
/_cat/segments
/_cat/segments/{index}
#  集群或者索引文档数量
/_cat/count
/_cat/count/{index}
#显示正在进行和先前完成的索引碎片恢复的视图
/_cat/recovery
/_cat/recovery/{index}
#查看集群健康状况
/_cat/health
#显示正在等待的任务
/_cat/pending_tasks
# 索引别名
/_cat/aliases
/_cat/aliases/{alias}
#查看线程池
/_cat/thread_pool
/_cat/thread_pool/{thread_pools}
# 插件列表
/_cat/plugins
# 返回集群中每个数据节点上的字段数据缓存当前使用的堆内存量 。
/_cat/fielddata
/_cat/fielddata/{fields}
# 获取node属性信息
/_cat/nodeattrs
#返回集群的快照存储库。
/_cat/repositories
#返回有关存储在一个或多个存储库中的快照的信息。
/_cat/snapshots/{repository}
#显示模板信息
/_cat/templates
/_cat/ml/anomaly_detectors
/_cat/ml/anomaly_detectors/{job_id}
/_cat/ml/trained_models
/_cat/ml/trained_models/{model_id}
/_cat/ml/datafeeds
/_cat/ml/datafeeds/{datafeed_id}
/_cat/ml/data_frame/analytics
/_cat/ml/data_frame/analytics/{id}
/_cat/transforms
/_cat/transforms/{transform_id}
二、索引指令相关 一.新增索引 1、指定ID创建索引

如果指定ID创建索引,需要携带请求体

PUT 索引名称/类型名称(7版本可以创建为_doc)/索引ID
{
#请求体
}
2、自动生成ID创建索引

不需要携带请求体

PUT 索引名称
2、删除索引
DELETE 索引名称
3、查询索引

查询索引信息

GET 索引名称

查询所有索引信息带上表头并且进行美化

GET _cat/indices?v&pretty
4、关闭索引

如果关闭了一个索引,就无法通过ES来读取和写入其中的数据,直到再次打开它。

POST 索引名称/_close
5、打开索引
POST /索引名称/_open
三、增

新增使用PUT和POST都是可以的,区别在于PUT需要指定ID,而POST不需要。
PUT是作用在集合之上,而PUT是作用在对应的资源之上。

1、指定ID新增
PUT/POST 索引名称/_doc/文档ID
{
#请求体
}
2、不指定ID新增
POST 索引名称/_doc
{
#请求体
}
四、删
DELETE 索引名称/_doc/文档ID
五、改

PUT会将新的json值完全替换掉旧的;而POST方式只会更新相同字段的值,其他数据不会改变,新提交的字段若不存在则增加。

一.不覆盖原数据
POST /索引名称/_doc/文档ID/_update
{
#请求体
}
二.覆盖原数据

PUT修改会覆盖元数据,如果历史数据是三个字段,新增的是两个字段,没有写的那个字段会消失,这个不好用。

PUT /索引名称_doc/文档ID
{
#请求体
}
六、查

查询比较复杂

1、简单查询 2.查询所有数据
GET 索引名称/_search
2.查询所有数据
GET 索引名称/_mapping
2、精确查询term

erm是代表完全匹配,即不进行分词器分析,文档中必须包含整个搜索的词汇

1.term
address中必须有完整的zhejiang
POST lib3/user/_search
{
  "query":{
    "term":{
      "address":"zhejiang"
    }
  }
}
2.terms多值

term只能查询一个词,terms可以查询多个词。

POST lib3/user/_search
{
  "query":{
    "terms":{
      "interests":["youyong","changpao"]
    }
  }
}
3.term多个字段 3、匹配查询 1.match 2.match_all 3.multi_match 4.multi_phrase 5.Wildcard Query通配符查询

*表示任意字符,?表示任意单个字符

POST lib3/user/_search
{
    "query": {
            "wildcard": {
                "name": "zhang*"
            }
        }
}
6.Prefix Query前缀查询

查找包含带有指定前缀

POST lib3/user/_search
{
    "query": {
            "prefix": {
                "name": "zhang"
            }
        }
}
7.Exsit Query非空查询
POST lib3/user/_search
{
    "query": {
        "exists": {
            "field": "name"
        }
    }
}
8.ids多ID查询
POST lib3/user/_search
{
    "query": {
        "ids": {
            "values": [1, 2]
        }
    }
}
3、bool查询 1.must

返回的文档必须满足must子句的条件,并且参与计算分值

2.should

返回的文档可能满足should子句的条件。在一个Bool查询中,如果没有must或者filter,有一个或者多个should子句,那么只要满足一个就可以返回。minimum_should_match参数定义了至少满足几个子句。

3.must_not

返回的文档必须不满足must_not定义的条件。

4.filter过滤查询

返回的文档必须满足filter子句的条件。但是不会像Must一样参与计算分值

4、功能查询 1.分页查询 (1)浅分页
from:0从第几个开始
size:6总数是多少个,默认是10个
在这里插入代码片
2.高亮查询
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/342353.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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