这里描述操作elasticsearch采用TransportClient这种方式,官方明确表示在ES 7.0版本中将弃用TransportClient客户端,且在8.0版本中完全移除它.
记录一些常用的方法:

官方文档:
TransportClient

/**
* 简单查询es 指定index type id
*/
@Testpublic void search() throws UnknownHostException {//获取clientSettings settings= Settings.builder().put("cluster.name","my-application").build();TransportClient transportClient=new PreBuiltTransportClient(settings);transportClient.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));// 发起请求得到响应GetResponse  response=transportClient.prepareGet("index3","user3","10").get();System.out.println(response.getSource());}/*** 增加文档*/@Testpublic void insert() throws Exception{Settings settings= Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));XContentBuilder contentBuilder= XContentFactory.jsonBuilder().startObject().field("catid","22").field("classify",54).field("author","ssve").field("id","1").field("title","菜鸟成长记").endObject();IndexResponse indexResponse = client.prepareIndex("index3", "user3", "10").setSource(contentBuilder).get();System.out.println(indexResponse.status());}/*** 删除文档*/@Testpublic void delete() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));DeleteResponse deleteResponse = client.prepareDelete("index3", "user3", "10").get();System.out.println(deleteResponse.status());}/*** 修改文档*/@Testpublic void update() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));UpdateRequest request=new UpdateRequest();XContentBuilder contentBuilder=XContentFactory.jsonBuilder().startObject().field("id","555").endObject();request.index("index3").type("user3").id("10").doc(contentBuilder);UpdateResponse updateResponse = client.update(request).get();System.out.println(updateResponse.status());}/***upsert使用 如有存在对应文档就修改  不存在就新增  需要指定修改的文档 和新增的文档*/@Testpublic void upsert() throws IOException, ExecutionException, InterruptedException {Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));XContentBuilder builder=XContentFactory.jsonBuilder().startObject().field("catid","22").field("classify",54).field("author","zhang").field("id","10").field("title","菜鸟成长记").endObject();UpdateRequest request=new UpdateRequest();IndexRequest indexRequest=new IndexRequest();indexRequest.index("index3").type("user3").id("11").source(builder);request.index("index3").type("user3").id("11").doc(new XContentFactory().jsonBuilder().startObject().field("id","i love you").endObject()).upsert(indexRequest);UpdateResponse updateResponse = client.update(request).get();System.out.println(updateResponse.status());}/*** * 批量查询  multiGet*/@Testpublic  void multiGet() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));MultiGetRequest request=new MultiGetRequest();request.add("index3","user3","11");request.add("index3","user3","10");request.add("index3","user3","13");request.add("index3","user3","14");MultiGetResponse multiGetItemResponses = client.multiGet(request).get();for (MultiGetItemResponse response:multiGetItemResponses) {System.out.println(response.getResponse().getSourceAsString());}}/*** *  bulk实现批量增删改操作。*/@Testpublic void bulk() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));BulkRequestBuilder bulkRequestBuilder = client.prepareBulk();IndexRequest request=new IndexRequest();request.index("index3").type("user3").id("13").source(XContentFactory.jsonBuilder().startObject().field("catid","85").field("classify","85").field("author","宇宙无敌").field("id","漫威").field("title","漫威").endObject());IndexRequest request1=new IndexRequest();request1.index("index3").type("user3").id("14").source(XContentFactory.jsonBuilder().startObject().field("catid","55").field("classify","85").field("author","宇宙无敌").field("id","漫威").field("title","漫威").endObject());bulkRequestBuilder.add(request1);bulkRequestBuilder.add(request);BulkResponse bulkItemResponses = bulkRequestBuilder.get();System.out.println(bulkItemResponses.status());}/*** * 使用query查询  match_all 查询所有*/@Testpublic void query() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));MatchAllQueryBuilder builder= QueryBuilders.matchAllQuery();SearchRequestBuilder index3 = client.prepareSearch("index3").setQuery(builder).setSize(5);SearchResponse searchResponse = index3.get();SearchHits hits =  searchResponse.getHits();for (SearchHit hit:hits) {System.out.println(hit.getSourceAsString());}}/**** 使用query查询  match 查询*/@Testpublic void matchQuery() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));MatchQueryBuilder matchQueryBuilder = QueryBuilders.matchQuery("title", "爱");SearchRequestBuilder index = client.prepareSearch("index3").setQuery(matchQueryBuilder).setSize(10);SearchHits hits = index.get().getHits();for (SearchHit hit:hits) {System.out.println(hit.getSourceAsString());}}/**** 使用query查询  mutilMatch 查询*/@Testpublic void mutilMatchQuery() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));MultiMatchQueryBuilder multiMatchQueryBuilder = QueryBuilders.multiMatchQuery("周星驰影帝", "author","title");SearchRequestBuilder index = client.prepareSearch("index3").setQuery(multiMatchQueryBuilder).setSize(10);SearchHits hits = index.get().getHits();for (SearchHit hit:hits) {System.out.println(hit.getSourceAsString());}}/**** 使用query查询 termheterms查询*/@Testpublic void termsMatchQuery() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));TermsQueryBuilder termsQueryBuilder = QueryBuilders.termsQuery("title", "周星驰", "影帝");SearchRequestBuilder index = client.prepareSearch("index3").setQuery(termsQueryBuilder).setSize(10);SearchHits hits = index.get().getHits();for (SearchHit hit:hits) {System.out.println(hit.getSourceAsString());}}/**** 使用query查询  范围  通配符 前缀 模糊查询*/@Testpublic void query1() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));//范围查询//QueryBuilder queryBuilder = QueryBuilders.rangeQuery("classify").from("1").to("40");//通配符查询 * 零个或多个
//        QueryBuilder queryBuilder = QueryBuilders.wildcardQuery("author","周*");//前缀查询
//        QueryBuilder queryBuilder = QueryBuilders.prefixQuery("author","周");//模糊查询 查询类型的
//        QueryBuilder queryBuilder = QueryBuilders.fuzzyQuery("id","aac");//id查询QueryBuilder queryBuilder = QueryBuilders.idsQuery().addIds("1","2","4");SearchRequestBuilder index = client.prepareSearch("index3").setQuery(queryBuilder).setSize(10);SearchHits hits = index.get().getHits();for (SearchHit hit:hits) {System.out.println(hit.getSourceAsString());}}/**** 聚合查询*/@Testpublic void aggregation() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));AggregationBuilder aggregationBuilder= AggregationBuilders.max("max").field("id");SearchResponse index3 = client.prepareSearch("index3").addAggregation(aggregationBuilder).get();Max max = index3.getAggregations().get("max");System.out.println(max.getValue());}/**** queryString */@Testpublic void queryString() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));// + 代表必须有 -代表没有  QueryBuilder queryBuilder=QueryBuilders.queryStringQuery("+周星驰 -sss");SearchRequestBuilder index3 = client.prepareSearch("index3").setQuery(queryBuilder).setSize(10);SearchResponse searchResponse = index3.get();for (SearchHit hit:searchResponse.getHits()) {System.out.println(hit.getSourceAsString());}}/**** 组合查询*/@Testpublic void boolQuery() throws Exception{Settings settings=Settings.builder().put("cluster.name","my-application").build();TransportClient client=new PreBuiltTransportClient(settings);client.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));QueryBuilder queryBuilder=QueryBuilders.boolQuery().must(QueryBuilders.matchQuery("author","周星驰")).mustNot(QueryBuilders.matchQuery("title","梁朝伟")).should(QueryBuilders.matchQuery("title","影帝")).filter(QueryBuilders.rangeQuery("id").gte("1"));SearchRequestBuilder index3 = client.prepareSearch("index3").setQuery(queryBuilder).setSize(10);SearchResponse searchResponse = index3.get();for (SearchHit hit:searchResponse.getHits()) {System.out.println(hit.getSourceAsString());}}

Elasticsearch(Transport Client)常用操作相关推荐

  1. Springboot 整合ElasticSearch(Client篇)

    目录 1.简介 2.依赖.pom.xml 3.配置类ESConfig 4.yml配置文件 5.实体类,省略不写了,根据自己的业务定义实体类 6.Client的使用 7.有问题留言,谢谢 1.简介 相信 ...

  2. Kerberos 入门与常用操作 浅析

    . 一 .前言 二 .Kerberos认证流程 三 .Kerberos Principal 四 .Kerberos的优点和不足 4.1. 优点 4.2. 不足 五. KDC常用操作 六.Client常 ...

  3. 聊一聊Elasticsearch和MySQL的常用操作

    前言 ElasticSearch,开源的搜索和数据分析引擎,也是名列前茅的 nosql. 很多时候会想拿它和关系型数据库做对比,严格上它们是没有太多可比性的. 不过把有的东西放在一起比较,会帮助我们快 ...

  4. Transport Client 客户端的使用

    官方文档:TransportClient 一.基本概念 这里描述操作elasticsearch采用TransportClient这种方式,官方明确表示在ES 7.0版本中将弃用TransportCli ...

  5. ElasticSearch Python Client ReadTimeout

    ElasticSearch Python Client ReadTimeout ElasticSearch Python Client API,Bulk操作时,当ElasticSearch服务端的性能 ...

  6. elasticsearch Java Client用户指南

    这里使用的Java客户端版本是5.1.2,Elasticsearch的版本号也要是5.1.2,否则一些功能可能不支持. 之前介绍过Spring Data Elasticsearch,那里也是使用了本文 ...

  7. phoenix的元数据一般存在哪里_Phoenix常用操作记录-阿里云开发者社区

    Apache Phoenix 常用操作 基础知识 1****.****Phoenix 主要技术点 a.将SQL转化为HBase Scan,将结果封装为JDBC Result Set. b.表的元数据保 ...

  8. ES transport client批量导入

    从bulk.txt文件中按行读取,然后bulk导入.首先通过调用client.prepareBulk()实例化一个BulkRequestBuilder对象,调用BulkRequestBuilder对象 ...

  9. MongoDB使用小结:一些常用操作分享

    MongoDB使用小结:一些常用操作分享 本文整理了一年多以来我常用的MongoDB操作,涉及mongo-shell.pymongo,既有运维层面也有应用层面,内容有浅有深,这也就是我从零到熟练的历程 ...

  10. ES transport client使用

    ES transport client bulk insert 传输(transport)客户端 TransportClient利用transport模块远程连接一个elasticsearch集群.它 ...

最新文章

  1. Linux系统命令审计
  2. luogu P1199 【三国游戏】
  3. 熵权法excel计算过程_翅片式蒸发器如何最简单的进行计算和仿真?
  4. 一定要牢牢掌握的技术!Spark+Flink+推荐系统+数据挖掘等
  5. Vue项目实战03 : vue中 meta 路由元信息
  6. (八)Spring与MyBatis整合
  7. rabbitmq接口异常函数方法_RabbitMQ监控(三):监控队列状态
  8. 深圳宝安图书馆官网错误 HTTP Status 500 - Servlet.init() for servlet spring threw exception...
  9. Skyfire-在移动设备上体验silverlight的效果
  10. vi编辑器使用技巧篇1
  11. 集成高德地图:com.autonavi.amap.mapcore.nativeNewInstance
  12. C语言程序100例之C#版-008
  13. 手写体识别识别(pytorch):
  14. “飞思卡尔”杯全国大学生智能车竞赛
  15. javascript重定向的方法和区别
  16. 初学者使用HTML简单做一个自我介绍
  17. 计算机毕业优秀作品展观后感,毕业设计作品展观后感
  18. NX二次开发-重命名装配组件
  19. 利用json实现vivo x20手机评论的爬取
  20. 出行助手Vue项目中高德API的使用

热门文章

  1. 如何当好一个师长之软件开发篇
  2. OC学习笔记之011IOS应用开发入门--控件2进度条、拖动条、警告框、日期选择器、选择器
  3. 学习笔记:中国大学MOOC《计算机程序设计C++》第3周单元测试
  4. Why you should not shrink your data files
  5. Papervision 3D的简介
  6. Unity3D视频教程,Unity3D从入门到精通视频教程——转
  7. 故障分析 | OceanBase Proxy 无法连接 OBserver 集群
  8. 什么是数据增强(Data Augmentation)
  9. C++字符串常量总结(包含表达式必须是可修改的左值问题)
  10. Vue中this的指向问题