ElasticSearch技术文档

本文档详细介绍了Elastic Stack的安装过程,深入讲解了Elasticsearch的Document、倒排索引与分词、Mapping、Search API、聚合分析及分布式特性。涵盖了Logstash、Beats和Kibana的使用,并给出了JVM性能监控、Nginx日志监控等应用场景。
摘要由CSDN通过智能技术生成

Elastic Stack

1.安装

xxx.xxx.xxx.249 开发
xxx.xxx.xxx.254 测试
xxx.xxx.xxx.100 预发

useradd elasticsearch
passwd elasticsearch
installing Java version 1.8.0_131 or a later version in the Java 8 release series.
在这里插入图片描述

vi /home/elasticsearch/ELK/elasticsearch-6.4.0/bin/elasticsearch-env
JAVA_HOME="/home/elasticsearch/jdk1.8"

Elasticsearch.yml

#集群名称(必须一样)
cluster.name: YOU-elasticsearch
#节点名称(必须不一样)
node.name: aplan-node-1
#本机的IP地址
network.host: xxx.xxx.xxx.254
#服务的端口号(在本地配置多个时,请注意修改为不一样的端口)
http.port: 9200
#集群发现IP集合
discovery.zen.ping.unicast.hosts: ["xxx.xxx.xxx.254", "xxx.xxx.xxx.249","xxx.xxx.xxx.100"]
#脑裂
discovery.zen.minimum_master_nodes: 2
#node.attr.rack: r1
#path.data: /path/to/data
#path.logs: /path/to/logs
#bootstrap.memory_lock: true
#gateway.recover_after_nodes: 3
#action.destructive_requires_name: true

nohup /home/elasticsearch/ELK/elasticsearch-6.4.0/bin/elasticsearch 1>/dev/null 2>&1 &

/home/elasticsearch/cerebro-0.8.1/bin/cerebro
JAVA_HOME="/home/elasticsearch/jdk1.8"
[elasticsearch@localhost bin]$ nohup ./cerebro  1>/dev/null 2>&1 &
http:xxx.xxx.xxx.249:9000

2.ElasticSearch

2.1.Document

在这里插入图片描述
在这里插入图片描述

2.2.倒排索引与分词

2.2.1.倒排索引

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2.2.分词

在这里插入图片描述
在这里插入图片描述

Analyze API
安装中文分词器

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.0/elasticsearch-analysis-ik-6.4.0.zip

测试分词的API接口
直接使用指定的analyzer进行测试

POST  _analyze
{
   
  "analyzer": "ik_smart",
  "text":"相城区黄埭镇欣阳鲜花店"
}

直接使用索引中的字段测试

POST  shop_service_pd_20181009/_analyze
{
   
  "field": "shopName",
  "text":"相城区黄埭镇欣阳鲜花店"
}

使用自定义分词器进行测试

POST  _analyze
{
   
 “tokenizer”:”standard”,
 “filter”:[“lowercase”]
“text”:”hello world”
}

2.3.Mapping 索引结构映射

定义字段名,字段类型,倒排索引相关配置,比如是否索引,记录position等

2.3.1.Mapping自动识别

在这里插入图片描述
在这里插入图片描述

2.3.2.自定义Mapping

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3.3.Dynamic-template

在这里插入图片描述
在这里插入图片描述

2.3.4.Index-template索引模板

在这里插入图片描述

2.4.Search API

2.4.1.Match查询

在这里插入图片描述

GET shop_service_pd_20181009/_search
{
   
    "query":{
   
        "bool":{
   
            "must":{
   
                "match":{
   
                      "shopName":{
   
                        "query":"相城区 鲜花 花店",
                        "operator":"or",
                        "minimum_should_match":"3"
                      }  
                }
            }
        }
    }
}
2.4.2.Match-phrase短语查询

在这里插入图片描述

2.4.3.Term查询

在这里插入图片描述

2.4.4.range-Query

在这里插入图片描述

2.4.5.复合查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

GET shop_service_pd_20181009/_search
{
   
    "query":{
   
        "bool":{
   
            "must":[
                      {
   "match": {
   "shopName": "一起玩"}},
{
   "term": {
   dataType": 10}}
],
"must_not":[
                      {"match-phranse": {"shopName": "一起去哪里"}},
{"range": {“age": {
   “gte”:10}}}
] 
        }
    }
}
2.4.6.相关性算分

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4.7.分页与遍历

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5.聚合分析

2.5.1.分桶+聚合

在这里插入图片描述
在这里插入图片描述
Terms:text不能分桶,需要开启通过API 开启”fielddata”:true
Rang
Rang Date
Historgram
Date Historgram
在这里插入图片描述

2.5.2.作用范围

在这里插入图片描述
POST-filter使用场景,用户根据job类型,输入查询关键字

Global整体和部分的一个对比,Java平均工资和所有doc的平均工资

2.5.3.Pipeline

在这里插入图片描述

2.5.4.精准度问题

在这里插入图片描述
在这里插入图片描述

2.6.分布式特性

2.6.1.构建集群

在这里插入图片描述
在这里插入图片描述

2.6.2.副本与分片

分片数与(文档到分片的映射算法)相关,分片数一旦确定不能更改

推迟分片分配。为集群里面的所有的索引使用这个参数

PUT /_all/_settings  
{
   
  "settings": {
   
    "index.unassigned.node_left.delayed_timeout": "5m"  
  }
}

至少 8 个节点(数据节点或者 master 节点)之前进行数据恢复

gateway.recover_after_nodes: 8

等待集群至少存在 8 个节点;等待 5 分钟,或者10 个节点上线后,才进行数据恢复,这取决于哪个条件先达到。

gateway.expected_nodes: 10
gateway.recover_after_time: 5m

这三个设置可以在集群重启的时候避免过多的分片交换。这可能会让数据恢复从数个小时缩短为几秒钟。
在这里插入图片描述

2.6.3.Share详解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.7.管理监控

2.7.1.系统配置

1.Disable swapping(禁用交换):
如果内存交换到磁盘上,一个 100 微秒的操作可能变成 10 毫秒
这样可以暂时禁用sudo swapoff –a
在这里插入图片描述
如果需要永久禁用,你可能需要修改 /etc/fstab 文件,注释所有含有swap的行
在这里插入图片描述

允许JVM 锁住内存,禁止操作系统交换出去。在你的 elasticsearch.yml 文件中,设置如下:bootstrap.mlockall: true

2.File Descriptors(文件描述符):
Lucene 使用了大量的文件。 同时,Elasticsearch 在节点和 HTTP 客户端之间进行通信也使用了大量的套接字(注:sockets)。 所有这一切都需要足够的文件描述符

set ulimit -n 65536 as root before starting Elasticsearch, or set nofile to 65536 in /etc/security/limits.conf     

在这里插入图片描述

GET _nodes/stats/process?filter_path=**.max_file_descriptors
{
   
  "nodes": {
   
    "-gkyPDf6TimRTpItLKJsJA": {
   
      "process": {
   
        "max_file_descriptors": 65536
      }
    },
    "S1Wq54jXTZO7ONiXJSIulQ": {
   
      "process": {
   
        "max_file_descriptors": 65536
      
ES8311技术文档是一份详细介绍ES8311音频接口编解码芯片的文档。ES8311是一款具有高性能和低功耗的音频解决方案,广泛应用于移动设备和消费电子产品中。 ES8311技术文档包含了该芯片的主要功能、特性、接口定义以及应用案例等重要信息。首先,文档介绍了芯片的主要功能,包括音频编解码、音效处理、低功耗和高性能等方面。其次,文档详细描述了芯片的技术特性,如支持的音频格式、采样率、分辨率等。同时,文档还介绍了芯片的接口定义,包括电源接口、音频输入输出接口等。这对于用户在设计和使用中了解芯片的接口是非常重要的。 文档还提供了一些典型的应用案例,展示了ES8311在不同领域的应用场景。例如,文档介绍了如何在智能手机中使用ES8311芯片实现高质量的音频播放和录音功能,还介绍了如何在智能音箱中利用ES8311芯片实现立体声效果等。 此外,ES8311技术文档还提供了详细的电气参数、封装规格和应用建议等内容。用户可以根据文档提供的信息,了解ES8311芯片的性能和特性,并根据自己的需求进行合理的应用设计。 总的来说,ES8311技术文档是一份重要的参考资料,对于了解和使用ES8311音频接口编解码芯片非常有帮助。通过阅读文档,用户可以全面了解该芯片的功能、特性和接口定义,更好地应用于各种移动设备和消费电子产品中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涂作权的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值