推广软件是什么意思,自己怎么做网站优化,高端网站制作网站设计,如何建设dj网站一#xff0c;DSL语句
1#xff0c;新增文档#xff1a; 2#xff0c;查询文档和删除文档#xff1a;
,3修改文档
修改有两种方式#xff1a; 全量修改#xff1a;直接覆盖原来的文档 增量修改#xff1a;修改文档中的部分字段 全量修改
全量修改是覆盖原来的文档…一DSL语句
1新增文档 2查询文档和删除文档
,3修改文档
修改有两种方式 全量修改直接覆盖原来的文档 增量修改修改文档中的部分字段 全量修改
全量修改是覆盖原来的文档其本质是 根据指定的id删除文档 新增一个相同id的文档
注意如果根据id删除时id不存在第二步的新增也会执行也就从修改变成了新增操作了。 语法
PUT /{索引库名}/_doc/文档id
{字段1: 值1,字段2: 值2,// ... 略
}
示例
PUT /heima/_doc/1
{info: 黑马程序员高级Java讲师,email: zyitcast.cn,name: {firstName: 云,lastName: 赵}
}增量修改
增量修改是只修改指定id匹配的文档中的部分字段。
语法
POST /{索引库名}/_update/文档id
{doc: {字段名: 新的值,}
}示例 二Java代码
创建文档 //创建文档Testvoid testAddDocument() throws IOException {//1,根据id查询出数据库酒店数据Hotel hotel hotelService.getById(61083L);//2,转换为文档类型HotelDoc hotelDoc new HotelDoc(hotel);//3,将HotelDoc转JsonString json JSON.toJSONString(hotelDoc);//1准备Request对象IndexRequest request new IndexRequest(hotel).id(hotelDoc.getId().toString());//2,准备Json文档request.source(json,XContentType.JSON);//3,发送请求client.index(request,RequestOptions.DEFAULT);}
查询文档 //查询文档Testvoid testGetDocumentById() throws IOException {// 1.准备RequestGetRequest request new GetRequest(hotel, 61083);// 2.发送请求得到响应GetResponse response client.get(request, RequestOptions.DEFAULT);// 3.解析响应结果String json response.getSourceAsString();HotelDoc hotelDoc JSON.parseObject(json, HotelDoc.class);System.out.println(hotelDoc);}
更新文档 //更新文档Testvoid testUpdateDocument() throws IOException {// 1.准备RequestUpdateRequest request new UpdateRequest(hotel, 61083);// 2.准备请求参数request.doc(price, 952,starName, 四钻);// 3.发送请求client.update(request, RequestOptions.DEFAULT);}
删除文档 //删除文档Testvoid testDeleteDocument() throws IOException {//1,准备RequestDeleteRequest request new DeleteRequest(hotel, 61083);//3,发送请求client.delete(request,RequestOptions.DEFAULT);}
批量添加文档
批量处理BulkRequest其本质就是将多个普通的CRUD请求组合在一起发送。
其中提供了一个add方法用来添加其他请求 可以看到能添加的请求包括 IndexRequest也就是新增 UpdateRequest也就是修改 DeleteRequest也就是删除
因此Bulk中添加了多个IndexRequest就是批量新增功能了。示例 //批量创建文档Testvoid testBulkRequest() throws IOException {// 批量查询酒店数据ListHotel hotels hotelService.list();// 1.创建RequestBulkRequest request new BulkRequest();// 2.准备参数添加多个新增的Requestfor (Hotel hotel : hotels) {// 2.1.转换为文档类型HotelDocHotelDoc hotelDoc new HotelDoc(hotel);// 2.2.创建新增文档的Request对象request.add(new IndexRequest(hotel).id(hotelDoc.getId().toString()).source(JSON.toJSONString(hotelDoc), XContentType.JSON));}// 3.发送请求client.bulk(request, RequestOptions.DEFAULT);}