当前位置: 首页 > news >正文

ElasticSearch之RestClient笔记

1. ElasticSearch

1.1 倒排索引 

 

1.2 ElasticSearch和Mysql对比 

 1.3 RestClient操作

导入依赖

        <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.15.0</version></dependency>

并设置 

<elasticsearch.version>7.15.0</elasticsearch.version>

添加ElasticSearch配置

@Configuration
public class ElasticSearchConfig {@Beanpublic RestHighLevelClient restHighLevelClient(){RestHighLevelClient client=new RestHighLevelClient(RestClient.builder(new HttpHost("127.0.0.1",9200,"http")));return client;}
}

索引的创建,判断是否存在,删除

  CreateIndexRequest createIndexRequest=new CreateIndexRequest("test");restHighLevelClient.indices().create(createIndexRequest, RequestOptions.DEFAULT);//判断某个索引库是否存在GetIndexRequest getIndexRequest=new GetIndexRequest("test");boolean exists = restHighLevelClient.indices().exists(getIndexRequest, RequestOptions.DEFAULT);System.out.println(exists);//删除某个索引库DeleteIndexRequest deleteIndexRequest=new DeleteIndexRequest("test");restHighLevelClient.indices().delete(deleteIndexRequest,RequestOptions.DEFAULT);

添加文档

  IndexRequest in = new IndexRequest("test").id("1").source("{\n" +"   \"username\":\"admin\",\n" +"   \"password\":\"admin\"\n" +"}", XContentType.JSON);restHighLevelClient.index(in,RequestOptions.DEFAULT);

查找文档

 GetRequest getRequest=new GetRequest("test","1");GetResponse getResponse = restHighLevelClient.get(getRequest, RequestOptions.DEFAULT);System.out.println(getResponse.getSourceAsString());

更新文档

//全量更新,再次写入id一样的文档,就会删除旧文档,添加新文档IndexRequest in = new IndexRequest("test").id("1").source("{\n" +"   \"username\":\"admin\",\n" +"   \"password\":\"helloworld\"\n" +"}", XContentType.JSON);restHighLevelClient.index(in,RequestOptions.DEFAULT);UpdateRequest updateRequest=new UpdateRequest("test","1");updateRequest.doc("password","hello");restHighLevelClient.update(updateRequest,RequestOptions.DEFAULT);

删除文档

  DeleteRequest deleteRequest=new DeleteRequest("test","1");restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT);

批量导入文档

  BulkRequest bulkRequest=new BulkRequest();bulkRequest.add(new IndexRequest("test").id("2").source("{\n" +"   \"username\":\"hello\",\n" +"   \"password\":\"hello\"\n" +"}",XContentType.JSON));bulkRequest.add(new IndexRequest("test").id("3").source("{\n" +"   \"username\":\"world\",\n" +"   \"password\":\"world\"\n" +"}",XContentType.JSON));restHighLevelClient.bulk(bulkRequest,RequestOptions.DEFAULT);

http://www.lryc.cn/news/267675.html

相关文章:

  • 饥荒Mod 开发(二二):显示物品信息
  • Microsoft Edge使用方法和心得
  • Kafka操作指令笔记
  • WAVE SUMMIT+ 2023倒计时2天,传文心一言将曝最新进展!
  • Crow:Middlewares 庖丁解牛5 context
  • CentOS 7 设置网络
  • 装饰器模式(Decorator)
  • 关于“Python”的核心知识点整理大全34
  • 设计模式--抽象工厂模式
  • 浅析海博深造
  • 【Hive_05】企业调优1(资源配置、explain、join优化)
  • synchronized
  • Vue在页面上添加水印
  • SQL server 数据库练习题及答案(练习2)
  • minicube搭建golang容器服务
  • 图片批量处理:图片批量缩放,高效调整尺寸的技巧
  • 直接插入排序【从0-1学数据结构】
  • C++/CLI——1简介
  • C#实现串口通讯
  • NLP论文阅读记录 - 以大语言模型为参考学习总结
  • 前端---资源路径
  • 【2024考研】心情记录
  • MySQL数据库日志管理和数据的备份及恢复
  • node-schedule nodejs定时提醒(并判断段是否是工作日)
  • LeetCode 75| 前缀和
  • 智能,轻量,高效的爬虫工具 (爬虫宝第一代), HSpider
  • IDEA Maven Helper插件 解决jar冲突
  • 装饰 Web3 项目的用户交互界面(Web3项目二实战之四)
  • 【数据库系统概论】第3章-关系数据库标准语言SQL(3)
  • 理解io/nio/netty