IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> elasticsearch笔记 -> 正文阅读

[大数据]elasticsearch笔记

目录复制

elasticsearch笔记

安装

  1. docker pull elasticsearch:7.4.2
  2. docker pull kibana:7.4.2
  3. free -m 查看虚拟机可用内存
  4. mkdir -p /mydata/elasticsearch/config
  5. mkdir -p /mydata/elasticsearch/data
  6. echo “http.host: 0.0.0.0”>>/mydata/elasticsearch/config/elasticsearch.yml
  7. chmod -R 777 /mydata/elasticsearch
docker run --name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearche.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
docker run --name kibaba -e ELASTICSEARCH_HOSTS=http://192.168.224.128:9200 -p 5601:5601 -d kibana:7.4.2
  1. 查看节点信息_cat
http://192.168.224.128:9200/_cat/health 查看健康状况信息
http://192.168.224.128:9200/_cat/master 查看主节点信息
http://192.168.224.128:9200/_cat/indices 查看所有索引

保存数据
(PUT方式,必须带ID)
http://192.168.224.128:9200/custom/external/1
{
	"name":"Tom"
}
(POST方式, 带了Id , 新增或修改,不带id,永远是新增)
http://192.168.224.128:9200/custom/external/1
{
	"name":"Tom"
}
(GET)	查询数据
http://192.168.224.128:9200/custom/external/1

乐观锁修改(带上if_seq_no)
http://192.168.224.128:9200/custom/external/1?if_seq_no=4&if_primary_term=1

(_update)(POST) 会对比原来数据,重复不更新,不同再更新
http://192.168.224.128:9200/custom/external/1/_update

(DELETE)删除数据
http://192.168.224.128:9200/custom/external/1

(DELETE)删除整个索引
http://192.168.224.128:9200/custom

批量操作
POST  /custom/external/_bulk
{"index":{"_id":1}}
{"name": "name1"}
{"index":{"_id":2}}
{"name": "name2"}

POST  /_bulk
{"delete": {"_index":"website","_type":"blog","_id":"123"}}
{"create": {"_index":"website","_type":"blog","_id":"123"}}
{"title":"my first blog post"}
{"index": {"_index":"website","_type":"blog"}}
{"title":"my secode blog post"}
{"update": {"_index":"website","_type":"blog","_id":"123"}}
{"doc":{"title":"my secode blog post"}}

10.ElasticSearch官方测试数据
github地址:https://github.com/elastic/elasticsearch/blob/master/docs/src/test/resources/accounts.json
调用地址:
POST /bank/account/_bulk

设置虚拟机docker 容器开机自动启动
docker update abc --restart=always

第一种查询方式:查询所有数据,按account_number升续排序
GET bank/_search/?q=*&sort=account_number:asc
第二种查询方式
GET bank/_search
{
“query”: {
“match_all”: {}
},
“sort”: [
{
“account_number”: “asc”
}
]
}

GET bank/_search
{
“query”: {
“match_all”: {}
},
“sort”: [
{
“account_number”: “asc”
}
],
“from”: 3,
“size”: 5,
“_source”: [“age”,“firstname”]
}
GET bank/_search
{
“query”: {“match”: {
“age”: 22
}}
}

GET bank/_search
{
“query”: {“match”: {
“address”: “Street”
}}
}

包含Madison 或者 Street的都能查询出来
GET bank/_search
{
“query”: {“match”: {
“address”: “Madison Street”
}}
}

match_phrase 完全匹配包含
GET bank/_search
{
“query”: {“match_phrase”: {
“address”: “Place”
}}
}
多字段匹配,任意一个字段包含任意一个单词
GET bank/_search
{
“query”: {“multi_match”: {
“query”: “Place Limestone Nogal”,
“fields”: [“address”, “city”]
}}
}

多条件查询
GET bank/_search
{
“query”: {
“bool”: {
“must”: [
{“match”: {
“address”:“Street”
}}
],
“must_not”: [

    {"match": {
      "age":28
    }}
  ],
  "should": [
    {"match": {
      "city" : "Sunriver"
    }}]
}

}
}

filter 不会贡献得分
GET bank/_search
{
“query”: {
“bool”: {
“filter”: {“range”: {
“age”: {
“gte”: 10,
“lte”: 20
}
}}
}
}
}
全文检索用match, 其他非text字段匹配用term

精确匹配keyword
GET bank/_search
{
“query”: {
“match”: {
“address.keyword”: “776 Little Street”
}
}
}

聚合

GET bank/_search
{
  "query": {"match_all": {}},
  "size": 0, 
  "aggs": {
    "ageAgg": {
      "terms": {
        "field": "age",
        "size": 100
      },
      "aggs": {
        "totalAvgBlance":{
          "avg": {
            "field": "balance"
          }
        },
        "genderAgg": {
          "terms": {
            "field": "gender.keyword",
            "size": 100
          },
          "aggs": {
            "avgBlance": {
              "avg": {
                "field": "balance"
              }
            }
          }
        }
        
      }
    }
  }
}

获取类型信息
Get /bank/_mapping

映射:

PUT /my_index
{
  "mappings": {
    "properties": {
      "age":{"type":"integer"},
      "email":{"type":"keyword"},
      "adress":{"type":"text"}
    }
  }
}

添加属性 (index 为 false 表示不作为索引进行查询)

PUT /my_index/_mapping
{
  "properties":{
    "abc":{
      "type":"keyword",
      "index":false 
    }
  }
}

迁移索引

POST _reindex
{
  "source": {
    "index": "bank",
    "type": "account"
  },
  "dest": {
    "index": "newbank"
  }
}

分词

POST _analyze
{
  "analyzer": "standard",
  "text":"abc def g hello aa aa"
}

下载中文分词器
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.4.2
进入到/mydata/elasticsearch/plugins
上传该文件

查看docker 容器IP

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器ID或容器名称

进入容器kibana:7.4.2 修改vi kibana.yml中的地址

docker exec -it 602 /bin/bash
cd config/
vi kibana.yml

2.yum 安装

yum install -y unzip zip

解压
unzip 文件

智能分词

POST _analyze
{
  "analyzer": "ik_smart",
  "text":"你好我是"
}

POST _analyze
{
  "analyzer": "ik_max_word",
  "text":"你好我是中国人"
}

安装nginx

docker run -p 80:80 --name nginx -d nginx:1.10

复制docker中nginx中的配置文件

docker container cp nginx:/etc/nginx .

修改文件名nginx为config
mv nginx config
创建nginx
mkdir nginx

docker run --privileged -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:latest

docker run -p 80:80 --name nginx \
 -v /mydata/nginx/conf:/etc/nginx \
 -d nginx:1.10

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-31 15:30:56  更:2021-08-31 15:31:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:11:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码