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

相关推荐
狮歌~资深攻城狮6 小时前
HBase性能优化秘籍:让数据处理飞起来
大数据·hbase
Elastic 中国社区官方博客6 小时前
Elasticsearch Open Inference API 增加了对 Jina AI 嵌入和 Rerank 模型的支持
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·jina
隔壁老王1567 小时前
mysql实时同步到es
数据库·mysql·elasticsearch
workflower7 小时前
Prompt Engineering的重要性
大数据·人工智能·设计模式·prompt·软件工程·需求分析·ai编程
SunnyRivers8 小时前
关于ES中text类型时间字段范围查询的结构化解决方案
elasticsearch·时间·text·范围查询
API_technology9 小时前
电商搜索API的Elasticsearch优化策略
大数据·elasticsearch·搜索引擎
黄雪超9 小时前
大数据SQL调优专题——引擎优化
大数据·数据库·sql
The god of big data9 小时前
MapReduce 第二部:深入分析与实践
大数据·mapreduce
G***技10 小时前
杰和科技GAM-AI视觉识别管理系统,让AI走进零售营销
大数据·人工智能·系统架构
天天爱吃肉821811 小时前
碳化硅(SiC)功率器件:新能源汽车的“心脏”革命与技术突围
大数据·人工智能