Elastic search 基础操作

Elastic search 基础操作

一、索引index

在这里插入图片描述

1、创建索引
PUT /test1/type1/1
{
  "name":"bobwang",
  "age":22
}
2、指定字段类型

字段类型:

字符串类型:text, keyword

数值类型:long, integer,short,byte, double,float,half,scaled, float

布尔类型:boolean

二进制类型:binary

eg:

指定索引index的字段类型

PUT /test2
{
  "mappings": {
    "properties": { 
    "name":{
      "type": "text"
    },
    "age":{
      "type":"long"
    },
    "brithday":{
      "type": "date"
    },
    "marrued":{
      "type":"boolean"
    }
    } 
  }
}

#out
{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "test2"
}

get 查看

GET /test2
# out
{
  "test2" : {
    "aliases" : { },
    "mappings" : {
      "properties" : {
        "age" : {
          "type" : "long"
        },
        "brithday" : {
          "type" : "date"
        },
        "marrued" : {
          "type" : "boolean"
        },
        "name" : {
          "type" : "text"
        }
      }
    },
    "settings" : {
      "index" : {
        "creation_date" : "1592119203342",
        "number_of_shards" : "1",
        "number_of_replicas" : "1",
        "uuid" : "k5pMbsUdSTa8RRzXPrXHpw",
        "version" : {
          "created" : "7060199"
        },
        "provided_name" : "test2"
      }
    }
  }
}

如果字段没有指定, es会自己默认配置字段类型

通过get _cat/查看es的当前信息

 GET _cat/indices?v

在这里插入图片描述

3、修改
曾今的方法put
PUT /test2/_doc/1
{
  "name":"wang",
  "age":23,
  "brithday":"2000-01-01",
  "married":"false"
}

在这里插入图片描述
现在的方法post

POST /test2/_doc/1/_update
{
  "doc":{
    "name":"bobwang"
  }

在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0wBtOkd9-1592449903565)(/Users/bobwang/Library/Application Support/typora-user-images/image-20200614155902035.png)]

4、删除索引

delete

DELETE test2

在这里插入图片描述

二、文档操作

1、添加数据 put
PUT /bob/user/1
{
  "name":"bobwang",
  "age":22,
  "marreid":false
}

out

在这里插入图片描述pplication Support/typora-user-images/image-20200614160947296.png)]

es给默认匹配的类型在这里插入图片描述

2、获取数据 get
GET /bob/user/1

在这里插入图片描述

3、更新数据 put and post _update
Put直接覆盖原来的跟索引类似
PUT /bob/user/1
{
  "name":"bobwang",
  "age":27,
  "marreid":false
}

在这里插入图片描述

post _update 直接修改某个字段 (推荐使用)
POST /bob/user/1/_update
{
  "doc":{
  "marreid":true
  }
}

在这里插入图片描述

4、搜索
1)简单搜索
# 将 索引bob下在user文档(相当于mysql的表table)下的所有消息找出
GET bob/user/_search
# 查询条件是name=bobwang
GET bob/user/_search?q=name:bobwang

在这里插入图片描述

分数表示:如过匹配出多个结果,如果结果的匹配度越高,分值就越高

hits:包含了索引和文档的信息,查询的结果总数,当里面包含多条时,可以遍历出来。

2)复杂操作搜索 select(排序,分页,高亮,模糊查询,精准查询)
GET bob/user/_search
{
  "query":{
    "match":{
      "name": "bobwang"
    }
  }
}
# 匹配的条件采用 json格式
a、过滤查询结果中的字段,选择性的展示 _source:[(字段list)]
GET bob/user/_search
{
  "query":{
    "match":{
      "name": "bobwang"
    }
  },
  "_source":["age","marreid"]
  
}

在这里插入图片描述

b、排序 asc 生序 desc 降序
GET bob/user/_search
{
  "query":{
    "match":{
      "name": "bob"
    }
  },
 "sort": [
   {
     "age": {
       "order": "asc"
     }
   }
 ]
  
}

在这里插入图片描述

c、分页

在这里插入图片描述

e、布尔查询

1、must(and):所有的条件都要符合

在这里插入图片描述
2、should(or):或在这里插入图片描述

3、must_not(not)

在这里插入图片描述

5、过滤器 filter

在这里插入图片描述

多条件

在这里插入图片描述

6、匹配多个

在这里插入图片描述
7、精准查询

term查询时直接通过倒排索引指定的词条进行精确查找的

关于分词:
  • term:直接查询精确的
  • match:会只用分词器解析(先分许文档,然后再通过分析的文档进行查询)

在这里插入图片描述

match

在这里插入图片描述

两个类型:

standard

在这里插入图片描述

keyword

[
在这里插入图片描述8、多个值匹配精确查询

在这里插入图片描述

10、高亮查询

在这里插入图片描述

自定义高亮显示格式

在这里插入图片描述

5、删除数据 delete
DELETE bob/user/1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bdVEqkVp-1592449903587)(/Users/bobwang/Library/Application Support/typora-user-images/image-20200614185150354.png)]
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值