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 --->欢迎大家和博主讨论问题

相关推荐
TGB-Earnest1 小时前
【py脚本+logstash+es实现自动化检测工具】
大数据·elasticsearch·自动化
大圣数据星球3 小时前
Fluss 写入数据湖实战
大数据·设计模式·flink
suweijie7683 小时前
SpringCloudAlibaba | Sentinel从基础到进阶
java·大数据·sentinel
Data跳动8 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc1119 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq10 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq10 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈10 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
小白学大数据11 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
15年网络推广青哥11 小时前
国际抖音TikTok矩阵运营的关键要素有哪些?
大数据·人工智能·矩阵