Elasticsearch(P114~P123)

高性能分布式的搜索引擎。

可以对搜索进行多种不同的实现。

安装

对Elasticsearch的安装

访问192.168.202.129:9200

docker run -d \
  --name es \
  -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  -e "discovery.type=single-node" \
  -v es-data:/usr/share/elasticsearch/data \
  -v es-plugins:/usr/share/elasticsearch/plugins \
  --privileged \
  --network hm-net \
  -p 9200:9200 \
  -p 9300:9300 \
  elasticsearch:7.12.1

对Kibana的安装

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=hm-net \
-p 5601:5601  \
kibana:7.12.1

访问192.168.202.129:5601

在Dev-tool里面可以向Es发送请求

倒排索引

IK分词器

实现IK分词器的安装

docker exec -it es ./bin/elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip

然后重启es

docker restart es

使用IK分词器

POST /_analyze
{
  "analyzer": "standard",
  "text": "黑马程序员学习java太棒了"
}

基本概念

索引库操作

Mapping映射属性

索引库操作

#创建索引库
PUT /heima
{
  "mappings": {
    "properties": {
      "info":{
        "type": "text",
        "analyzer": "ik_smart"
      },
      "age":{
        "type": "byte"
      },
      "email":{
        "type": "keyword",
        "index": false
    },
    "name":{
      "type": "object",
      "properties": {
        "firstName":{
          "type":"keyword"
          },
        "lastName":{
          "type":"keyword"
        }
        }
      }
    }
  }
}

#查询索引库
GET /heima

#删除索引库
DELETE /heima

我们不可以对已经存在的索引库进行修改,但是可以添加新的字段

PUT /heima/_mapping
{
  "properties":{
    "age":{
      "type":"byte"
    }
  }
}

文档操作

文档crud

POST /heima/_doc/1
{
    "info": "黑马程序员Java讲师",
    "email": "zy@itcast.cn",
    "name": {
        "firstName": "四",
        "lastName": "赵"
    }
}

POST /heima/_update/1
{
  "doc": {
    "email":"1111"
  }
}

改有两种方式,第一种就是直接在原来基础上改,这样做就是覆盖了之前的文档,先删后增。

第二种就是用_update,然后改哪个字段就写哪个字段。

文档批量处理

POST /_bulk
{"index": {"_index":"heima", "_id": "3"}}
{"info": "黑马程序员C++讲师", "email": "ww@itcast.cn", "name":{"firstName": "五", "lastName":"王"}}
{"index": {"_index":"heima", "_id": "4"}}
{"info": "黑马程序员前端讲师", "email": "zhangsan@itcast.cn", "name":{"firstName": "三", "lastName":"张"}}
#批量删除
POST /_bulk
{"delete":{"_index":"heima","_id":3}}
{"delete":{"_index":"heima","_id":4}}

  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值