分布式搜索 Elasticsearch —— 删除索引

为什么80%的码农都做不了架构师?>>>   hot3.png

删除索引的方式很多,这里列举三种。

  1. 指定 index 、type、id 执行删除
    1. package com.gsoft.gsearch.util;import org.elasticsearch.action.get.GetResponse;
      import org.junit.Test;import com.gsoft.gsearch.BaseTest;
      import com.gsoft.gsearch.entity.Person;public class DeleteTest extends BaseTest {@Testpublic void delete() {try {String id = "1234567890";Person p = new Person();p.setId(id);p.setAge(20);p.setIsStudent(false);p.setSex("男");p.setName("张三的车");String source = ElasticSearchUtil.BeanToJson(p);// 创建索引client.prepareIndex(index, type, id).setSource(source).execute();System.out.println("休息6秒钟,以便创建索引");Thread.sleep(6000);// GetSystem.out.println("================================第一次Get");showById(id);client.prepareDelete(index, type, id).execute();System.out.println("休息6秒钟,以便删除索引");Thread.sleep(6000);System.out.println("================================第二次Get");showById(id);} catch (Exception e) {e.printStackTrace();} finally {if (null != client) {client.close();}if (null != node) {node.close();}}}/*** 根据ID查询,使用Get* @param id* @throws Exception*/private void showById(String id) throws Exception {GetResponse response = client.prepareGet(index, type, id).execute().actionGet();String json = response.getSourceAsString();if (null != json) {Person newPerson = mapper.readValue(json, Person.class);System.out.println("id\t\t" + newPerson.getId());System.out.println("name\t\t" + newPerson.getName());System.out.println("sex\t\t" + newPerson.getSex());System.out.println("age\t\t" + newPerson.getAge());System.out.println("isStudent\t\t" + newPerson.getIsStudent());} else {log.info("未查询到任何结果!");}}
      }
      

       

  2. 使用 Bulk 执行批量操作
    1. package com.gsoft.gsearch.util;import org.elasticsearch.action.bulk.BulkRequestBuilder;
      import org.elasticsearch.action.search.SearchResponse;
      import org.elasticsearch.index.query.QueryBuilder;
      import org.elasticsearch.index.query.QueryBuilders;
      import org.elasticsearch.search.SearchHit;
      import org.elasticsearch.search.SearchHits;
      import org.junit.Test;import com.gsoft.gsearch.BaseTest;
      import com.gsoft.gsearch.entity.Person;public class BulkDeleteTest extends BaseTest {@Testpublic void delete() {try {String id = "1234567890";BulkRequestBuilder builder1 = client.prepareBulk();for (int i = 0; i < 5; i++) {String myId = id + "_" + i;Person p = new Person();p.setId(myId);p.setAge(20);p.setIsStudent(false);p.setSex("男");p.setName("张三的车");String source = ElasticSearchUtil.BeanToJson(p);// 创建索引builder1.add(client.prepareIndex(index, type, myId).setSource(source).request());}builder1.execute();System.out.println("休息6秒钟,以便创建索引");Thread.sleep(6000);// GetSystem.out.println("================================第一次查询");query();BulkRequestBuilder builder = client.prepareBulk();for (int i = 0; i < 5; i++) {String myId = id + "_" + i;builder.add(client.prepareDelete(index, type, myId).request());}builder.execute();System.out.println("休息6秒钟,以便删除索引");Thread.sleep(6000);System.out.println("================================第二次查询");query();} catch (Exception e) {e.printStackTrace();} finally {if (null != client) {client.close();}if (null != node) {node.close();}}}private void query() throws Exception {// 检索QueryBuilder qb = QueryBuilders.matchPhraseQuery("name", "张三的车");SearchResponse searchResponse = client.prepareSearch(index).setTypes(type).setQuery(qb).setFrom(0).setSize(12).execute().actionGet();SearchHits hits = searchResponse.getHits();if (null == hits || hits.totalHits() == 0) {log.error("使用\"张三的车\"没有查询到任何结果!");} else {for (SearchHit hit : hits) {String json = hit.getSourceAsString();Person newPerson = mapper.readValue(json, Person.class);System.out.println("id\t\t" + newPerson.getId());System.out.println("name\t\t" + newPerson.getName());System.out.println("sex\t\t" + newPerson.getSex());System.out.println("age\t\t" + newPerson.getAge());System.out.println("isStudent\t\t" + newPerson.getIsStudent());System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");}}}
      }
      

       

  3. 根据条件删除匹配的索引
    1. QueryBuild qb = QueryBuilders.matchAllQuery();
      client.prepareDeleteQuery(indeices).setQuery(qb).execute();

       

 

第一种 和 第二种 需要知道 索引的ID后方可执行删除,局限性较大,第三种根据条件删除匹配索引,也比比较简单。

 

 

 

 

转载于:https://my.oschina.net/exit/blog/806993

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机云客户端,蓝奏云网盘客户端 0.3.7电脑版

蓝奏云由于不限速、下载速度快被很多用户所欢迎&#xff0c;不过蓝奏云没有客户端&#xff0c;上传下载有时也不太方便,这里有大神写了蓝奏云网盘客户端&#xff0c;采用蓝奏云API项目使用PyQt5实现图形界面&#xff0c;蓝奏云盘API项目实现了对蓝奏网盘的基本操作: 登录、列出…

三十分钟学会SED

本文承接之前写的三十分钟学会AWK一文&#xff0c;在学习完AWK之后&#xff0c;趁热打铁又学习了一下SED&#xff0c;不得不说这两个工具真的堪称文本处理神器&#xff0c;谁用谁知道&#xff01;本文大部分内容依旧是翻译自Tutorialspoint上的入门教程&#xff0c;这次是 Sed …

计算机学院年会,重庆大学计算机学院举行2019年迎新晚会

2019年12月6号晚&#xff0c;重庆大学计算机学院2019年迎新晚会在兰园小剧场举行。出席本次晚会的嘉宾有计算机学院党委副书记兼纪委书记郭坤银、党委组织员刘霜、2016级辅导员李若菡老师、2017级辅导员古曦老师、2018级辅导员郑田青老师、2019级辅导员谢璧如老师。本次晚会的主…

[转贴]Cocos2d-x3.2与OpenGL渲染总结(一)Cocos2d-x3.2的渲染流程

看了opengles有一段时间了&#xff0c;算是了解了一下下。然后&#xff0c;就在基本要决定还是回归cocos2dx 3.2的&#xff0c;看了这篇好文章&#xff0c;欣喜转之~ 推荐看原帖&#xff1a; Cocos2d-x3.2与OpenGL渲染总结(一)Cocos2d-x3.2的渲染流程 最近几天&#xff0c;我都…

计算机组装与维护实训1,计算机组装与维护实训报告[1]

计算机组装与维护实训报告[1] (12页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;11.90 积分实习报告设计题目&#xff1a; 计算机组装与维护实习 专业班级&#xff1a; 计算机应用103班 学生姓名&a…

node.js-------使用路由模块

路由需要的信息&#xff0c;包括URL 及GET 或 POST参数。路由根据这些参数执行相应的js处理程序&#xff0c;因此&#xff0c;需要在HTTP请求中提取出URL以及GET或POST参数。这些请求参数在request对象中&#xff0c;这个对象是onRequest()回调函数的第一个参数。需要提取这些信…

计算机意外重启或遇错误无法继续,计算机意外地重新启动或遇到错误如何解决?...

电脑小白在重装系统后难免会遇到些问题&#xff0c;有的容易处理&#xff0c;有的会有些棘手。那么&#xff0c;计算机意外地重新启动或遇到错误如何解决?今天快启动小编为大家分享详细的计算机意外地重新启动或遇到错误的解决方法&#xff0c;献给对系统重装知识不太了解的小…

JMeter web 测试

2019独角兽企业重金招聘Python工程师标准>>> JMeter web 测试 http://jmeter.apache.org/usermanual/build-web-test-plan.html 转载于:https://my.oschina.net/276172622/blog/808957

计算机软件记不住设置,想知道电脑密码记不住了怎么办

635509517回答数&#xff1a;23216 | 被采纳数&#xff1a;32017-01-09 17:51:10方法一&#xff1a;(1)启动电脑&#xff0c;使用DOS启动盘(比如&#xff1a;Windows 98启动盘)进入纯DOS状态。(2)在DOS提示符下&#xff0c;根据下面步骤操作&#xff1a;cd\\ (切换到根目录)c…

120xa正反转参数_你知道变频器的“正反转死区时间”吗?它的“停机方式”有几种?...

若你我之间有缘&#xff0c;关注作者又何妨&#xff1f;两情若是久长时&#xff0c;又岂在朝朝暮暮。大家好&#xff01;我是江郎&#xff0c;一个踏踏实实的维修工。本期我们仍然探讨两个问题&#xff0c;如标题所述&#xff0c;#变频器#“死区时间”和“停机方式”&#xff0…

【转】游戏编程中的人工智能技术--神经网络

原文&#xff1a;http://blog.csdn.net/ecitnet/article/details/1799444 游戏编程中的人工智能技术.>. (连载之一)用平常语言介绍神经网络(Neural Networks in Plain English)因为我们没有很好了解大脑&#xff0c;我们经常试图用最新的技术作为一种模型来解释它。在我童年…

w8计算机配置要求,win8系统最低配置要求有哪些|win8系统是否有最低配置要求-系统城...

2013-10-17 17:08:08  浏览量&#xff1a;5753小编这里要为大家带来的是win8系统最低配置要求和部分安装截图&#xff0c;很多用户想要将自己的电脑装上win8&#xff0c;但也不是每一台电脑都可以安装win8系统的&#xff0c;为了避免一些低配置的用户安装了win8之后却无法运行…

财务管理专业应该报计算机二级哪个科目,我是应该报计算机二级还是三级呢

2008-12-01怎样学好财务管理&#xff1f;“五步”学好财务管理:学习这门课程前&#xff0c;首先就不要认为它“很难”&#xff0c;只要相信“难而不会&#xff0c;会而不难”&#xff0c;充满信心一定就能学好。我在学习过程中总结了几条经验&#xff0c;以供各位学友参考&…

java字符串排序_对字符串排序持一种宽容的心态

在Java中一涉及中文处理就会冒出很多问题来&#xff0c;其中排序也是一个让人头疼的课题&#xff0c;我们来看下面的代码&#xff1a;上面的代码定义一个数组&#xff0c;然后进行升序排序&#xff0c;我们期望的结果是按照拼音升序排列&#xff0c;即为李四、王五、张三&#…

nagios 监控配置介绍(二)

#配置服务端监控客户端[rootnagios etc]# cd objects/[rootnagios objects]# vi hosts.cfg# Define a host for the local machinedefine host{use linux-serverhost_name 1.3-sambaalias 1.3-sambaaddress …

spoj SUBLEX (Lexicographical Substring Search) RE的欢迎来看看

SPOJ.com - Problem SUBLEX 这么裸的一个SAM&#xff0c;放在了死破OJ上面就是个坑。 注意用SAM做的时候输出要用一个数组存下来&#xff0c;然后再puts&#xff0c;不然一个一个字符输出会更慢。 还有一个就是不要多数据输入&#xff0c;估计最后多了几个没用的数字&#xff0…

mt4双线macd_3年内从亏损90多万到获利近760万,我只坚持我的:60分钟MACD双回拉战法!附选股公式...

MACD指标被普遍认为是最经典实用的技术指标之一。其实并不是因为MACD有多么精妙的算法&#xff0c;而是MACD遵循了最基本的“均线指导原则”&#xff0c;形象的将经典双均线系统换了一种更加直观的表达方式。在MT4中&#xff0c;默认应用的是单线MACD指标&#xff0c;而在证券市…

计算机专业书籍速读方法,格式你玩的转?速读5分钟就懂

小编又接到了新问题&#xff0c;有小伙伴说自己64GB的U盘在电脑里格式化只能选ExFAT或者NTFS&#xff0c;不能选择FAT32&#xff0c;求小编解答&#xff0c;小编正好借着这个机会&#xff0c;说说现在电脑格式问题。如果你懒得读&#xff0c;↓↓↓最后一段有答案&#xff0c;如…

Thymeleaf 学习笔记 (4)~~~~

2019独角兽企业重金招聘Python工程师标准>>> 模板布局 模板布局主要用到的标记有这么几个&#xff1a; th:fragment &#xff0c;用来定义片段的&#xff0c;用法&#xff1a;th:fragment"fragmentName"&#xff0c;起一个名字方便被其他地方引用&#xf…