ELK(Elasticsearch + Kibana)部署安装使用

Windows服务下的安装部署:

下载运行ES:

1,官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch

 注:右侧选择历史版本,jdk1.8对应的版本是7.x的。

下载完以后进入bin目录,输入elasticsearch回车;或者直接双击 elasticsearch.bat 进行启动。

 注:请确认环境变量是否已经配置成功

 注:请确认java版本是否为ES对应版本

启动以后浏览器输入 http://localhost:9200/ 查看是否启动成功,如下图是成功的


2,下载对应版本的ik分词器:https://github.com/medcl/elasticsearch-analysis-ik/releases

 注:解压到 es目录下的plugins下 命名为ik

3,下载对应版本的Kibana:https://www.elastic.co/guide/en/kibana/current/install.html



Linux服务下的安装部署:

1,创建网络,需要es和kibana容器互联,在同一个网络(可省略)

docker network create es-net 

2,将es.tar  和 kibana.tar上传到服务器,运行命令加载即可:

docker load -i es.tar

docker load -i kibana.tar

3,运行docker命令,部署单点es

======================================================================================================================

docker run -d \

--name es \

    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \                       // 设置内存大小

    -e "discovery.type=single-node" \                                          // single-node单机模式

    -v es-data:/usr/share/elasticsearch/data \

    -v es-plugins:/usr/share/elasticsearch/plugins \

    --privileged \

    --network es-net \                                                                 // network:处在同一网络 网络名

    -p 9200:9200 \                                                                        //http://127.0.0.1:9200:客户访问端口

    -p 9300:9300 \                                                                        // 9300:es容器各个容器互联端口

elasticsearch:7.12.1

=======================================================================================================================

命令解释:

- `-e "cluster.name=es-docker-cluster"`:设置集群名称

- `-e "http.host=0.0.0.0"`:监听的地址,可以外网访问

- `-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"`:内存大小

- `-e "discovery.type=single-node"`:非集群模式

- `-v es-data:/usr/share/elasticsearch/data`:挂载逻辑卷,绑定es的数据目录

- `-v es-logs:/usr/share/elasticsearch/logs`:挂载逻辑卷,绑定es的日志目录

- `-v es-plugins:/usr/share/elasticsearch/plugins`:挂载逻辑卷,绑定es的插件目录

- `--privileged`:授予逻辑卷访问权

- `--network es-net` :加入一个名为es-net的网络中

- `-p 9200:9200`:端口映射配置

=======================================================================================================================

启动成功:

3,运行docker命令,部署单点kibana

network:同es所处在的同一网络

ELASTICSEAECH_HOSTS :es的名称 ,端口

http://127.0.0.1:5601     :客户访问端口

启动成功:

测试IK分词器:ik_smart (智能切分,粗粒度)   ik_max_word(最细切分,细粒度)

使用命令: docker  volume  inspect es-plugins 找到目录

将IK分词器放进去

重启es : docker restart  es

IK分词器拓展词库,停用词库:

修改config文件中的 IKAnalyzer.cfg.xml 文件

在config文件目录下添加扩展字典,停用字典

4,mapping属性:详见      https://www.jianshu.com/p/01f489c46c38

实例:

像 tradeType、map 这两个属性属于Object类型,在es中不必特殊指定类型,如下

es中的【nested】类型,特定用在某属性是数组类型,而且该属性在es结构中必须要加上【nested】类型,否在在检索、聚合时候就会出现报错或查不到数据问题,以下:

es中的结构如下:subjectList 便是数组类型,并且泛型是包装类型,在es中都需要指定该字段是【nested】。

非常注意:如果某属性的泛型是基本类型(比如:List< String >、List< Integer > )那es的类型可不是【nested】,而是keyword或Integer 这种。如下:

准备索引:

通过es控制台或者postman都可以进行索引操作,类型mysql可视化工具对mysql数据库表结构操作类型,只不过,es对于创建后的索引的字段类型不可改变,如果一定要变更字段类型,就需要删除索引重新创建,这就是为什么对于要插入的数据类型严格控制的原因。

查询,删除索引库语法:

修改索引库:索引库和mapping一旦创建无法修改,但是可以添加新的字段,语法如下

文档操作:

添加,查询,删除文档

修改文档:

全量修改:(上条数据修改后) 当索引(例如:1)存在,则是修改,不存在则是新增

局部修改:

创建索引注意点:

1,一个字段想要查询其他字段的内容可以用:copy_to

2,地理位置坐标:需要使用geo_point(代表横纵坐标上的一个点)或 geo_shape(代表横纵坐标上的一片区域,例如一条直线) ,加入横纵坐标

RestClient操作索引库

1,引入es的 RestHighLevelClient依赖:版本需和安装的 es 保持一致

<dependency>

    <groupId>org.elasticsearch.client</groupId>

    <artifactId>elasticsearch-rest-high-level-client</artifactId>

    <version>7.12.1</version>

</dependency>

修改版本一致

酒店实体举例创建,删除,判断索引是否存在

初始化连接地址:

酒店实体举例:新增文档,查询文档,更新文档,删除文档


DSL查询文档

全文检索查询

精确查询:term:根据词条精确值查询                                  range:根据值范围查询(gt :大于    lt:小于      gte:大于等于     lte:小于等于)

根据经纬度查询:

矩形范围查询:FIELD 对应的是 location字段

对应查询例如:附近的人,酒店等~~~

复合查询:将其他简单查询组合起来

相关性算分(了解)

搜索结果处理:排序,分页,高亮

项目中使用:

1,导入amqp(RabbitMQ)依赖包,yaml文件中添加amqp的地址

生产者方:设置交换机,队列,RoutingKey

绑定交换机和队列:

数据聚合:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容