栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

elasticsearch的安装与使用

elasticsearch的安装与使用

安装

在官网上下载elasticsearch压缩包,这里是使用的是7.8.0版本的,使用的环境是windows系统.
官网:[https://www.elastic.co/cn/elasticsearch/]
解压缩之后直接启动即可(bin目录下的elasticsearch.bat)

浏览器输入localhost:1001(我这里设置的端口号是1001,可以在config/yml配置文件中修改,默认端口是9200

新建springBoot项目

添加依赖


        
            org.elasticsearch
            elasticsearch
            7.8.0
        

        
            org.elasticsearch.client
            elasticsearch-rest-high-level-client
            7.8.0
        

写一个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();

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774825.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号