elasticsearch 5.5.0 java操作(新增索引、分页搜索)
来源:互联网 发布:淘宝商品名称 编辑:程序博客网 时间:2024/06/03 07:26
网上资源比较乱、比较杂,稍微总结一下,帮助大家避免像我一样走弯路…………
————————————————————————————————————
首先引入maven依赖:
<!--elasticsearch--> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.5.0</version> </dependency>
公共client:获取ES的client,任何操作都需要此client(类似httpclient吧,发送请求操作):
// 设置集群名称cluster.name: Settings settings = Settings.builder().put("cluster.name", "betawoo_es").build();//特别注意,java操作端口为:9300 Client client = new PreBuiltTransportClient(settings) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("139.116.196.10"), 9300));提醒:使用完毕记得关闭,调用:client.close();
1、新建索引
//json字符串,也可以直接传Map String json = "{\"title\":\"我从windows创建\",\"label\":[\"美式沙发\"],\"create_date\":\"2017-11-1 15:41:01\"}"; IndexResponse response = client.prepareIndex("index_名称", "type_名称").setId("0").setSource(json).execute().actionGet(); // Index name String _index = response.getIndex(); // Type name String _type = response.getType(); // Document ID (generated or not) String _id = response.getId(); // Version long _version = response.getVersion(); System.out.println("-------:"+_id+"创建成功!");
2、删除索引(根据id删除)
DeleteResponse deleteresponse = client.prepareDelete("index_名称", "type_名称","9db3f12721624f6a888e0c62181ffe8a") .execute() .actionGet(); System.out.println(deleteresponse.getVersion());
3、分页搜索
QueryBuilder包路径:importorg.elasticsearch.index.query.QueryBuilder;
//搜索匹配内容,等同:curl -X GET http://localhost:9200/test/kind/_search?pretty -d '{"query" : {"match" : {"label" : "映享优选"}}}' QueryBuilder matchQuery = QueryBuilders.matchQuery("label", "映享优选"); SearchResponse response = client.prepareSearch("portal").setTypes("product")//设置索引和类型 .setQuery(matchQuery).setFrom(0).setSize(60)//设置分页参数(获取1-60条,0开始)类似mysql limit分页 .execute().actionGet(); //获取查询结果集 SearchHits searchHits = response.getHits(); System.out.println("共搜到:"+searchHits.getTotalHits()+"条结果!"); //遍历结果 for(SearchHit hit:searchHits){ System.out.println("String方式打印文档搜索内容:"); System.out.println(hit.getSourceAsString());// System.out.println(hit.getId()); }
阅读全文
0 0
- elasticsearch 5.5.0 java操作(新增索引、分页搜索)
- 分布式搜索elasticsearch java API 之(三)------索引数据
- 分布式搜索elasticsearch java API 之(三)------索引数据
- elasticsearch-java api之索引(index)的各种操作
- 分布式搜索elasticsearch java API 之(三)(四)------索引数据、删除索引数据
- elasticsearch JAVA客户端操作---索引的CURD
- Java操作ElasticSearch之创建索引
- 分布式搜索elasticsearch java API 之(二)------put Mapping定义索引字段属性
- 分布式搜索elasticsearch java API 之(四)------删除索引数据
- 分布式搜索elasticsearch java API 之(六)------批量添加删除索引
- 分布式搜索elasticsearch java API 之(二)------put Mapping定义索引字段属性
- 分布式搜索elasticsearch java API 之(四)------删除索引数据
- 分布式搜索elasticsearch java API 之(六)------批量添加删除索引
- 分布式搜索elasticsearch java API 之(二)------put Mapping定义索引字段属性
- 分布式搜索elasticsearch java API 之(六)------批量添加删除索引
- 分布式搜索elasticsearch java API 之(四)------删除索引数据
- 分布式搜索elasticsearch java API 之(二)------put Mapping定义索引字段属性
- ElasticSearch学习笔记(九)Java AP实现搜索,排序,高亮,分页
- 2017.11.07第五课
- 个人网站运营故事经验分享
- iOS面试题集合(BAT及各大中小型公司)
- Springmvc学习笔记壹——springmvc概述
- SpringMVC项目的搭建
- elasticsearch 5.5.0 java操作(新增索引、分页搜索)
- Android Token过期解决方案
- 用markdown使你的博文炫酷起来
- Java
- vue.js添加一些触摸事件以及安装fastclick
- 多线程之CompletableFuture(下)
- 每日练习2017-11-07
- 嵌入式linux的mdev机制
- 第四章 串的基本操作【数据结构】