GET _cat/nodes?v
//返回
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.244.0.56 39 9 3 6.67 6.19 5.38 mdi * elasticsearch-es-default-1
10.244.0.38 49 9 3 6.67 6.19 5.38 mdi - elasticsearch-es-default-0
GET /_cat/indices?v
//得到
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open .monitoring-es-6-2023.06.03 EhOAodRfS8qMbACRn3tilQ 1 0 380693 3667 203.9mb 203.9mb
green open bigdata_peer_detail 9LCsUSQBTduFyFLH_oiEjw 6 0 55663 776 66.3mb 66.3mb
GET _cat/health?v
//得到
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1686212112 08:15:12 elasticsearch green 2 2 4 2 0 0 0 0 - 100.0%
格式: PUT /索引名称
PUT /es_db
//得到
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "es_db"
}
格式: GET /索引名称
GET /es_db
//得到
{
"es_db" : {
"aliases" : { },
"mappings" : { },----没有字段
"settings" : {
"index" : {
"creation_date" : "1686212364875",
"number_of_shards" : "5",----5个分片
"number_of_replicas" : "1",---1个备份
"uuid" : "u4akXJ9RRIKTfDeY8KX1iw",
"version" : {
"created" : "6080899"
},
"provided_name" : "es_db"
}
}
}
}
格式: DELETE /索引名称
DELETE /es_db
//得到
{
"acknowledged" : true
}
1.字符串
text:该类型被用来索引长文本,在创建索引前会将这些文本进行分词(怎么拆看分词器),转化为词的组合,建立索引;允许es来检索这些词,text类型不能用来排序和聚合。
keyword:该类型不能分词,可以被用来检索过滤、排序和聚合,keyword类型不可用text进行分词模糊检索。
2.数值型
long、integer、short、byte、double、float
3.日期型
date
4.布尔型
boolean
5. 对象,即类似json格式
object
注意:POST和PUT都能起到创建/更新的作用
PUT:需要对一个具体的资源进行操作也就是要确定id才能进行
POST:是可以针对整个资源集合进行操作的,如果不写id就由ES生成一个唯一id(随机字符串)进行==创建==新文档,如果填了id那就针对这个id的文档进行创建/更新
PUT /es_db/_doc/1
{
"name": "张三",
"sex": 1,
"age": 25,
"address": "天津"
}
//response
{
"_index" : "es_db",
"_type" : "_doc",
"_id" : "1",-------可指定,可随机生成
"_version" : 2,-----修改版本
"result" : "updated",-------结果
"_shards" : {
"total" : 2,
"successful" : 2,
"failed" : 0
},
"_seq_no" : 1,
"_primary_term" : 1
}
格式: GET /索引名称/类型/id
GET /es_db/_doc/1
返回
{
"_index" : "es_db",
"_type" : "_doc",
"_id" : "1",
"_version" : 2,
"_seq_no" : 1,
"_primary_term" : 1,
"found" : true,
"_source" : {
"name" : "张三",
"sex" : 1,
"age" : 25,
"address" : "天津"
}
}
格式: DELETE /索引名称/类型/id
DELETE /es_db/_doc/1
返回
{
"_index" : "es_db",
"_type" : "_doc",
"_id" : "1",
"_version" : 3,
"result" : "deleted",
"_shards" : {
"total" : 2,
"successful" : 2,
"failed" : 0
},
"_seq_no" : 2,
"_primary_term" : 1
}
4、采用term精确查询
GET es_db/_search
{
"query": {
"term": {
"name": {
"value": "李四"
}
}
}
}
5、模糊查询match
GET es_db/_search
{
"query": {
"match": {
"name": "李四"
}
}
}
6、范围查询
gte 大于等于
lte 小于等于
gt 大于
lt 小于
now 当前时间
POST /es_db/_doc/_search
{
"query" : {
"range" : {
"age" : {
"gte":25,
"lte":28
}
}
}
}
7、分页、输出字段、排序综合查询
POST /es_db/_doc/_search
{
"query" : {
"range" : {
"age" : {
"gte":25,
"lte":28
}
}
},
"from": 0,
"size": 2,
"_source": ["name", "age"],
"sort": {"age":"desc"}
}
8、多条件查询
bool : 各条件之间有and,or或not的关系
must : 各个条件都必须满足,即各条件是and的关系
should : 各个条件有一个满足即可,即各条件是or的关系
must_not : 不满足所有条件,即各条件是not的关系
filter : 不计算相关度评分,它不计算_score即相关度评分,效率更高
constant_score : 不计算相关度评分
must/filter/shoud/must_not 等的子条件是通过 term/terms/range/ids/exists/match 等叶子条件为参数的,注:以上参数,当只有一个搜索条件时,must等对应的是一个对象,当是多个条件时,对应的是一个数组