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

相关推荐
宅小海3 小时前
scala String
大数据·开发语言·scala
小白的白是白痴的白3 小时前
11.17 Scala练习:梦想清单管理
大数据
java1234_小锋3 小时前
Elasticsearch是如何实现Master选举的?
大数据·elasticsearch·搜索引擎
AiFlutter6 小时前
Java实现简单的搜索引擎
java·搜索引擎·mybatis
Java 第一深情7 小时前
零基础入门Flink,掌握基本使用方法
大数据·flink·实时计算
MXsoft6187 小时前
华为服务器(iBMC)硬件监控指标解读
大数据·运维·数据库
PersistJiao8 小时前
Spark 分布式计算中网络传输和序列化的关系(二)
大数据·网络·spark·序列化·分布式计算
九河云8 小时前
如何对AWS进行节省
大数据·云计算·aws
FreeIPCC9 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源
梦幻通灵9 小时前
ES分词环境实战
大数据·elasticsearch·搜索引擎