当前位置:首页 > 服务端 > elasticsearch的安装与使用

elasticsearch的安装与使用

2022年09月15日 23:26:10服务端19

安装

在官网上下载elasticsearch压缩包,这里是使用的是7.8.0版本的,使用的环境是windows系统.
官网:[https://www.elastic.co/cn/elasticsearch/]
解压缩之后直接启动即可(bin目录下的elasticsearch.bat)
elasticsearch的安装与使用 _ JavaClub全栈架构师技术笔记
浏览器输入localhost:1001(我这里设置的端口号是1001,可以在config/yml配置文件中修改,默认端口是9200
elasticsearch的安装与使用 _ JavaClub全栈架构师技术笔记

新建springBoot项目

添加依赖

<!--        es配置开始-->
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.8.0</version>
        </dependency>

        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.8.0</version>
        </dependency>
<!--        es配置结束-->

写一个main函数

创建客户端

RestHighLevelClient esClient = new RestHighLeveClient(
	RestClient.builder(new HttpHost("localhost",port:1001,"http"))
);

创建索引

CreateIndexRequest user = new CreateIndexRequest("user");
CreateIndexResponse createIndexResponse = esClient.indices().create(user,RequestOption.DEFAULT);

响应状态
boolean ackonwledged = createIndexResponse.isAcknowledged();

查询索引

GetIndexRequest user1 = new GetIndexRequest("user");
GetIndexReponse getIndexReponse = esClient.indices().get(user1,RequestOption.DEFAULT);

System.out.println(getIndexReponse.getAliases());
System.out.println(getIndexReponse.getSettings());
System.out.println(getIndexReponse.getMappings());

删除索引


DeleteIndexRequest request = new DeleteIndexRequest("user");
AcknowledgedResponse delete = esClient.indices().delete(request,RequestOptions.DEFAULT);
**响应状态**
System.out.println(delete.isAcknowledged());

插入数据


IndexRequest requestIndex = new IndexRequest();
requestIndex.index("user").id("1001");//id号(自定义)

User user2 = new User(){
     {
     
	setName("zhangsan");
	setAge(20);
	setSex("男");
}};

//向ES插入数据必须是JSON格式的
String writeValueAsString = new ObjectMapper().writeValueAsString(user2);
requestIndex.source(writeValueAsString,XContentType.JSON);
IndexResponse index = esClient.index(requestIndex,RequestOptions.DEFAULT);
System.out.println(index.getResult());

修改数据


        UpdateRequest updateRequest = new UpdateRequest();
        updateRequest.index("user").id("1001");
        updateRequest.doc(XContentType.JSON,"sex","女");

        UpdateResponse update = esClient.update(updateRequest, RequestOptions.DEFAULT);

        System.out.println(update.getResult());

查询数据


        GetRequest getRequest = new GetRequest();
        getRequest.index("user").id("1001");
        GetResponse documentFields = esClient.get(getRequest, RequestOptions.DEFAULT);

        System.out.println(documentFields.getSourceAsString());

删除


        DeleteRequest deleteRequest = new DeleteRequest();
        deleteRequest.index("user").id("1001");

        DeleteResponse delete1 = esClient.delete(deleteRequest, RequestOptions.DEFAULT);
        System.out.println(delete1.getResult());

批量插入


        BulkRequest bulkRequest = new BulkRequest();

        bulkRequest.add(new IndexRequest().index("user").id("1001").source(XContentType.JSON,"name","zhangsan"));
        bulkRequest.add(new IndexRequest().index("user").id("1002").source(XContentType.JSON,"name","zhangsan"));
        bulkRequest.add(new IndexRequest().index("user").id("1003").source(XContentType.JSON,"name","zhangsan"));

        BulkResponse responses = esClient.bulk(bulkRequest, RequestOptions.DEFAULT);

        System.out.println(responses.getTook());//执行时间
        System.out.println(Arrays.toString(responses.getItems()));//在批量操作中执行的每个操作的项目

批量删除

 DeleteRequest deleteRequest1 = new DeleteRequest();

        bulkRequest.add(new DeleteRequest().index("user").id("1001"));
        bulkRequest.add(new DeleteRequest().index("user").id("1002"));
        bulkRequest.add(new DeleteRequest().index("user").id("1003"));

        BulkResponse responsesDele = esClient.bulk(bulkRequest, RequestOptions.DEFAULT);

        System.out.println(responses.getTook());//执行时间
        System.out.println(Arrays.toString(responses.getItems()));//在批量操作中执行的每个操作的项目
        

//关闭客户端
esClient.close();

作者:辰若月熙
来源链接:https://blog.csdn.net/zx1834980431/article/details/123712423

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/41398.html

分享给朋友:

“elasticsearch的安装与使用” 的相关文章

虚拟机Linux 教程之Ubuntu安装教程【超多图】

虚拟机Linux 教程之Ubuntu安装教程【超多图】

文章目录 01前言 02虚拟机的安装 03Ubuntu镜像的下载...

超基础的Android studio的安装教程

超基础的Android studio的安装教程

Android Studio安装: 下载并安装 Android Studio。 启动 Android Studio,并通过“Android Studio 设置向导”。安装最新的 SDK Platform-Tools 和 Android SDK...

RabbitMQ安装教程

RabbitMQ安装教程

前言    之前安装的时候参考了一篇博客,成功的安装上了,但是没有记录自己安装过程,又在一个虚拟机上重新安装了一遍,记录自己的安装过程,方便自己以后参考。 步骤   Rabbitmq是用erlang语言写的,所以我们需要安装Erla...

~~Python解释器安装教程及环境变量配置~~

~~Python解释器安装教程及环境变量配置~~

进击のpython ***** Python解释器安装教程以及环境变量配置 对于一个程序员来说,能够自己配置python解释器是最基础的技能 那么问题来了,现在市面上有两种Python版本 Python 2.x 和 Python 3.x...

Linux CentOS操作系统下Docker的安装

Linux CentOS操作系统下Docker的安装

CentOS安装Docker 以Docker为代表的容器技术是目前非常流行的一类技术,对虚拟化、云计算以及软件开发流程都有革命性的影响。本文使用CentOS作为Docker的宿主机,我使用的是CentOS7,linux 3.10 内核,docker...

IntelliJ IDEA 15 激活码(破解)--License server 15.0.6 本人亲测

http://idea.lanyus.com/  点击“获得注册码”按钮,复制获得的注册码,然后到 IntelliJ IDEA中 Help->Register->Activation code把注册码黏贴的框里,点“OK”即可...

十个Pycharm使用小技巧——提升效率

十个Pycharm使用小技巧——提升效率

一些比较实用的Pycharm的快捷键,提升编写开发效率。 1、解除语法限制 默认情况下,Pycharm会对代码进行检查,包括但不仅限于代码是否有语法错误,是否符合PEP8规范。 如命名检查,如下图 变量dataset下出现波浪线 变量data_set下正常,无波浪线...

IDEA注册方式全,IDEA激活

IDEA注册方式全,IDEA激活

(请直接看最后一个最新的,激活码在后面!!!    转载的请附上原文链接   搜索不易!) 从http://idea.lanyus.com/过来的 100年授权,简单粗暴! 1.去百度云盘下载&nb...

IDEA安装激活方法

IDEA安装激活方法 作者:森林老虎 来源链接:https://blog.csdn.net/wcc178399/article/details/88549844...

idea 激活步骤

idea 激活步骤

如果你的idea是已经激活过,但是到期了,点击help-register  删除之前的license server(不是通过注册服务激活的,就不用管)   激活步骤如下: 1、修改hosts文件,把 0.0.0.0...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。