Es环境搭建 ▎kibana组件 ▎ik分词器 ▎idea继承Es ▎idea中Es操作

目录

安装Es

安装Es可视化界面(elasticsearch-head)

elasticsearch-head安装:

安装可视化Kibana组件

汉化kibana

[​编辑 启动服务器:](#编辑 启动服务器:)

安装ik分词器插件

Idea继承Es

索引库操作

文档操作


安装Es

Es下载地址:

ES下载地址https://www.elastic.co/cn/downloads/elasticsearch

解压并在打开bin目录

在bin目录中双击启动elasticsearch.bat

使用访问127.0.0.1:9200地址

网页显示如:

安装Es可视化界面(elasticsearch-head)

安装前提:需要安装nodejs

安装教程https://blog.csdn.net/Dreamkidya/article/details/140017222?spm=1001.2014.3001.5501

elasticsearch-head安装:

elasticsearch-head安装地址https://github.com/mobz/elasticsearch-head/

解压并配置elasticsearch.yml文件

添加跨域访问

启动可视化界面服务

访问127.0.0:9100进入可视界面

网页效果:

安装可视化Kibana组件

Kibana 是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互 存储在Elasticsearch 索引中的数据。

使用Kibana,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更 容易理解。

下载版本需要和Es版本一致

下载地址:

kibana下载地址(默认为最新版本)https://www.elastic.co/cn/downloads/kibana

汉化kibana

修改config 目录下的kibana.yml 文件 i18n.locale: "zh-CN"

启动服务器:

双击bin目录下的kibana.bat启动

网页访问127.0.0:5601

安装ik分词器插件

下载地址:

注:与es版本一致

**下载地址https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.1/elasticsearchanalysis-ik-7.6.1.zip**解压,在elasticsearch-7.6.1\plugins目录下创建名称为ik的文件夹,将解压后的文件复 制到ik目录

注:一定要解压在elasticsearch-7.6.1\plugins目录下

Idea继承Es

第一步:指定jdk与es版本

复制代码
    <!--指定 jdk 版本-->
    <properties>
        <java.version>1.8</java.version>
      <!-- Es版本-->
        <elasticsearch.version>7.6.1</elasticsearch.version>
    </properties>

第二步:添加依赖

复制代码
<!-- Es-->
<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>

第三步:添加初始化RestHighLevelClient的配置类

java 复制代码
package com.kid.news.config;

import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ElasticSearchConfig {

    @Bean
    public RestHighLevelClient restHighLevelClient(){
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(new HttpHost("localhost", 9200, "http")));
        return client;
    }

}

索引库操作

创建索引库

CreateIndexRequestrequest=newCreateIndexRequest("users"); CreateIndexResponsecreateIndexResponse=restHighLevelClient.indices().create(request, RequestOptions.DEFAULT);

判断索引库是否存在

GetIndexRequestrequest=newGetIndexRequest("users"); booleanexists=restHighLevelClient.indices().exists(request,RequestOptions.DEFAULT);

删除索引库

DeleteIndexRequestindexRequest=newDeleteIndexRequest("users"); AcknowledgedResponsedelete=restHighLevelClient.indices().delete(indexRequest, RequestOptions.DEFAULT); delete.isAcknowledged();//返回true删除成功,返回false删除失败

文档操作

添加文档

Newsnews =newNews(); news.setId(3); news.setTitle("中国航母开往美国,准备开战,拜登着急了"); news.setImg("dddddddddddd.jpg"); UpdateRequestupdateRequest=newUpdateRequest("news",news.getId().toString()); updateRequest.doc(newObjectMapper().writeValueAsString(news),XContentType.JSON); restHighLevelClient.update(updateRequest,RequestOptions.DEFAULT);

修改文档

Newsnews =newNews(); news.setId(3); news.setTitle("中国航母开往美国,准备开战,拜登着急了"); news.setImg("dddddddddddd.jpg"); UpdateRequestupdateRequest=newUpdateRequest("news",news.getId().toString()); updateRequest.doc(newObjectMapper().writeValueAsString(news),XContentType.JSON); restHighLevelClient.update(updateRequest,RequestOptions.DEFAULT);

查询文档

GetRequestgetRequest=newGetRequest("news","1"); GetResponsegetResponse=restHighLevelClient.get(getRequest,RequestOptions.DEFAULT); //获取查询的内容,返回json格式 Stringjson=getResponse.getSourceAsString(); //使用jackson组件将json字符串解析为对象 Newsnews=newObjectMapper().readValue(json,News.class);

删除文档

DeleteRequestdeleteRequest=newDeleteRequest("news","1"); DeleteResponsedelete=restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT);

搜索文档

SearchRequestsearchRequest=newSearchRequest("news"); SearchRequestsearchRequest=newSearchRequest("news"); //精确条件查询 searchRequest.source().query(QueryBuilders.termQuery("title","美国")); //发送查询请求 SearchResponsesearch=restHighLevelClient.search(searchRequest,RequestOptions.DEFAULT); //接收查询结果 SearchHitshits=search.getHits(); //组装查询结果 ArrayListlist=newArrayList<>(); //取出结果集 for(SearchHitsearchHit:hits.getHits()){ Stringjson=searchHit.getSourceAsString(); Newsnews=newObjectMapper().readValue(json,News.class); list.add(news);

}



感谢大家的观看,本次分享就到这里。希望我的内容能够对您有所帮助。创作不易,欢迎大家多多支持,您的每一个点赞都是我持续更新的最大动力!如有不同意见,欢迎在评论区积极讨论,让我们一起学习、共同进步!如果有相关问题,也可以私信我,我会认真查看每一条留言。期待下次再见!

希望路飞的笑容可以治愈努力路途中的你我!

博主vx:Dreamkid05 --->欢迎大家和博主讨论问题

相关推荐
SelectDB35 分钟前
5000+ 中大型企业首选的 Doris,在稳定性的提升上究竟花了多大的功夫?
大数据·数据库·apache
最初的↘那颗心1 小时前
Flink Stream API 源码走读 - window 和 sum
大数据·hadoop·flink·源码·实时计算·窗口函数
Yusei_05233 小时前
迅速掌握Git通用指令
大数据·git·elasticsearch
一只栖枝9 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
喂完待续13 小时前
Apache Hudi:数据湖的实时革命
大数据·数据仓库·分布式·架构·apache·数据库架构
青云交13 小时前
Java 大视界 -- 基于 Java 的大数据可视化在城市交通拥堵治理与出行效率提升中的应用(398)
java·大数据·flink·大数据可视化·拥堵预测·城市交通治理·实时热力图
还是大剑师兰特19 小时前
Flink面试题及详细答案100道(1-20)- 基础概念与架构
大数据·flink·大剑师·flink面试题
水无痕simon21 小时前
5 索引的操作
数据库·elasticsearch
SEO_juper21 小时前
AI 搜索时代:引领变革,重塑您的 SEO 战略
人工智能·搜索引擎·seo·数字营销·seo优化
189228048611 天前
NY243NY253美光固态闪存NY257NY260
大数据·网络·人工智能·缓存