/**
* @author Geloin
*/
package com.geloin.esample.util;
import java.util.UUID;
import junit.framework.Assert;
import org.elasticsearch.action.bulk.BulkRequestBuilder;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.action.index.IndexRequest;
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.geloin.esample.BaseTest;
import com.geloin.esample.entity.Person;
/**
* @author Geloin
*
*/
public class MatchAllQueryTest extends BaseTest {
@Test
public void matchAllQuery() {
try {
BulkRequestBuilder builder = client.prepareBulk();
// 创建索引
for (int i = 0; i < 10; i++) {
Person p = new Person();
p.setAge(20 + i);
p.setId(UUID.randomUUID().toString());
p.setIsStudent(true);
p.setName("小别克听老别克讲别克的故事" + i);
p.setSex("男");
String source = ElasticSearchUtil.BeanToJson(p);
IndexRequest request = client
.prepareIndex(index, type, p.getId()).setSource(source)
.request();
builder.add(request);
}
BulkResponse response = builder.execute().actionGet();
if (response.hasFailures()) {
Assert.fail("创建索引失败!");
}
// 检索
QueryBuilder qb = QueryBuilders.matchAllQuery();
SearchResponse sr = client.prepareSearch(index).setTypes(type)
// .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.setQuery(qb).setFrom(0).setSize(12).execute().actionGet();
SearchHits hits = sr.getHits();
if (null != hits && hits.totalHits() > 0) {
for (SearchHit hit : hits) {
String json = hit.getSourceAsString();
Person newPerson = mapper.readValue(json, Person.class);
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.error("没有查询到任何内容!");
return;
}
// 查询总数量
long count = client.prepareCount(index).setTypes(type).setQuery(qb).execute().actionGet().count();
log.info("符合条件的总数量为:" + count);
Thread.sleep(1000000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
KorbinLuo
- 粉丝: 590
- 资源: 25
最新资源
- 红树林生态系统检测9-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- 奇安信浏览器安装包下载地址
- 太原理工tyut-数据库真题
- 数学建模宝典:30个通用模型精讲与应用指南(学习文档)
- 航空船、车辆、飞机检测4-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 基于 Selenium 的掘金自动签到、免费抽奖脚本资料齐全+详细文档+高分项目+源码.zip
- 第5章 阶段案例 开发文档.pdf
- 基于 python 的 selenium UI 自动化测试框架,采用 Page Object 设计模式进行二次开发,通过对页面对象和测试代码进行分离,并封装了日
- 基于 Selenium 和 Tkinter 的爬取淘宝商品的Web自动化工具资料齐全+详细文档+高分项目+源码.zip
- 基于 Selenium 爬取招聘岗位信息的基础程序资料齐全+详细文档+高分项目+源码.zip
- 基于 selenium 模拟登录空间QQ 空间爬虫,破解滑动验证码, 抓取好友留言板的所有留言与回复,并生成词图资料齐全+详细文档+高分项目+源码.zip
- 基于 selenium 自动播放b站视频资料齐全+详细文档+高分项目+源码.zip
- 基于 selenium 自动注册apple id的python 脚本资料齐全+详细文档+高分项目+源码.zip
- 基于java的selenium自动化测试框架资料齐全+详细文档+高分项目+源码.zip
- 基于Dagger+Java ScriptEngine+Java Selenium的自动化测试框架资料齐全+详细文档+高分项目+源码.zip
- 基于java的selenium抓取搜狗微信公众号文章资料齐全+详细文档+高分项目+源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
- 6
前往页