The best elasticsearch highlevel java rest api-----bboss
一组获取Elasticsearch 索引表所有文档API使用案例
- 统计文档总数量api
- 简单获取所有文档api
- 并行获取所有文档api
直接看案例:
package org.bboss.elasticsearchtest.searchall;
import org.frameworkset.elasticsearch.ElasticSearchHelper;
import org.frameworkset.elasticsearch.client.ClientInterface;
import org.frameworkset.elasticsearch.entity.ESDatas;
import org.frameworkset.elasticsearch.scroll.ScrollHandler;
import org.junit.Test;
import java.util.List;
import java.util.Map;
/**
* <p>Description: 检索所有文档数据测试用例</p>
* <p></p>
* <p>Copyright (c) 2018</p>
* @Date 2018/10/14 20:07
* @author biaoping.yin
* @version 1.0
*/
public class SearchAllTest {
/**
* 统计索引中有多少文档
*/
@Test
public void testCountAll(){
ClientInterface clientInterface = ElasticSearchHelper.getRestClientUtil();
long esDatas = clientInterface.countAll("demo");
System.out.println("TotalSize:"+esDatas);
}
/**
* 简单的检索索引表所有文档数据,默认分5000条记录一批从es获取数据
*/
@Test
public void testSearchAll(){
ClientInterface clientInterface = ElasticSearchHelper.getRestClientUtil();
ESDatas<Map> esDatas = clientInterface.searchAll("demo",Map.class);
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
/**
* 简单的检索索引表所有文档数据,按指定的10000条记录一批从es获取数据
*/
@Test
public void testSearchAllFethchSize(){
ClientInterface clientInterface = ElasticSearchHelper.getRestClientUtil();
ESDatas<Map> esDatas = clientInterface.searchAll("demo",10000,Map.class);
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
/**
* 检索索引表所有文档数据,默认分5000条记录一批从es获取数据,分批获取的数据交个一ScrollHandler来处理
*/
@Test
public void testSearchAllHandler(){
ClientInterface clientInterface = ElasticSearchHelper.getRestClientUtil();
ESDatas<Map> esDatas = clientInterface.searchAll("demo", new ScrollHandler<Map>() {
public void handle(ESDatas<Map> esDatas) throws Exception {
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
},Map.class);
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
/**
* 检索索引表所有文档数据,按指定的10000条记录一批从es获取数据,分批获取的数据交个一ScrollHandler来处理
*/
@Test
public void testSearchAllFethchSizeHandler(){
ClientInterface clientInterface = ElasticSearchHelper.getRestClientUtil();
ESDatas<Map> esDatas = clientInterface.searchAll("demo",10000,new ScrollHandler<Map>() {
public void handle(ESDatas<Map> esDatas) throws Exception {
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
},Map.class);
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
/**
* 并行检索索引表所有文档数据,默认分5000条记录一批从es获取数据,指定了并行的线程数为6
*/
@Test
public void testSearchAllParrrel(){
ClientInterface clientInterface = ElasticSearchHelper.getRestClientUtil();
ESDatas<Map> esDatas = clientInterface.searchAll("demo",Map.class,6);
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
/**
* 并行检索索引表所有文档数据,按指定的10000条记录一批从es获取数据,指定了并行的线程数为6
*/
@Test
public void testSearchAllFethchSizeParrrel(){
ClientInterface clientInterface = ElasticSearchHelper.getRestClientUtil();
ESDatas<Map> esDatas = clientInterface.searchAll("demo",10000,Map.class,6);
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
/**
* 并行检索索引表所有文档数据,默认分5000条记录一批从es获取数据,分批获取的数据交个一ScrollHandler来处理,指定了并行的线程数为6
*/
@Test
public void testSearchAllHandlerParrrel(){
ClientInterface clientInterface = ElasticSearchHelper.getRestClientUtil();
ESDatas<Map> esDatas = clientInterface.searchAll("demo", new ScrollHandler<Map>() {
public void handle(ESDatas<Map> esDatas) throws Exception {
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
},Map.class,6);
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
/**
* 并行检索索引表所有文档数据,按指定的10000条记录一批从es获取数据,分批获取的数据交个一ScrollHandler来处理,指定了并行的线程数为6
*/
@Test
public void testSearchAllFethchSizeHandlerParrrel(){
ClientInterface clientInterface = ElasticSearchHelper.getRestClientUtil();
ESDatas<Map> esDatas = clientInterface.searchAll("demo",10000,new ScrollHandler<Map>() {
public void handle(ESDatas<Map> esDatas) throws Exception {
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
},Map.class,6);
List<Map> dataList = esDatas.getDatas();
System.out.println("TotalSize:"+esDatas.getTotalSize());
if(dataList != null) {
System.out.println("dataList.size:" + dataList.size());
}
else
{
System.out.println("dataList.size:0");
}
}
}
开发交流
完整的demo工程
https://gitee.com/bbossgroups/eshelloword-booter
elasticsearch技术交流群:166471282
elasticsearch微信公众号:
相关推荐
ElasticSearch Java API 中文文档 ElasticSearch Java API 中文文档
包含翻译后的API文档:elasticsearch-6.2.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.elasticsearch:elasticsearch:6.2.3; 标签:elasticsearch、中文文档、jar包、java; 使用方法:解压翻译后的API...
包含翻译后的API文档:elasticsearch-6.8.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.elasticsearch:elasticsearch:6.8.3; 标签:elasticsearch、中文文档、jar包、java; 使用方法:解压翻译后的API...
包含翻译后的API文档:elasticsearch-6.3.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.elasticsearch:elasticsearch:6.3.0; 标签:elasticsearch、中文文档、jar包、java; 使用方法:解压翻译后的API...
elasticsearch client api 离线文档 包含 java ruby ppython js 等的client api
包含翻译后的API文档:elasticsearch-6.8.3-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.elasticsearch:elasticsearch:6.8.3; 标签:elasticsearch、中英对照文档、jar包、java; 使用方法:解压...
包含翻译后的API文档:elasticsearch-5.5.1-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.elasticsearch:elasticsearch:5.5.1; 标签:elasticsearch、jar包、java、中文文档; 使用方法:解压翻译后的API...
elasticsearch api 离线文档
包含翻译后的API文档:elasticsearch-cli-6.8.3-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.elasticsearch:elasticsearch-cli:6.8.3; 标签:elasticsearch、cli、中英对照文档、jar包、java; ...
包含翻译后的API文档:elasticsearch-rest-client-6.8.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.elasticsearch.client:elasticsearch-rest-client:6.8.3; 标签:elasticsearch、client、rest、中文...
包含翻译后的API文档:elasticsearch-rest-high-level-client-6.8.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.elasticsearch.client:elasticsearch-rest-high-level-client:6.8.3; 标签:elasticsearch...
包含翻译后的API文档:elasticsearch-5.5.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.elasticsearch:elasticsearch:5.5.1; 标签:elasticsearch、jar包、java、API文档、中英对照版; 使用...
包含翻译后的API文档:elasticsearch-rest-client-6.2.3-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.elasticsearch.client:elasticsearch-rest-client:6.2.3; 标签:elasticsearch、client、...
包含翻译后的API文档:elasticsearch-rest-client-6.3.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.elasticsearch.client:elasticsearch-rest-client:6.3.0; 标签:elasticsearch、client、rest、中文...
elasticsearch离线JAVA API文档下载
spring-data-elasticsearch中文使用文档,spring-data-elasticsearch、elasticsearch、ES、ElasticSearch、ES中文教程
elasticsearch-net-api 离线文档
Elasticsearch_python使用文档,存储于此,便于二次查找 Elasticsearch_python使用文档,存储于此,便于二次查找 Elasticsearch_python使用文档,存储于此,便于二次查找
包含翻译后的API文档:elasticsearch-rest-high-level-client-6.8.3-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.elasticsearch.client:elasticsearch-rest-high-level-client:6.8.3; 标签:...