文档章节

How to use Elasticsearch BBoss

bboss
 bboss
发布于 01/09 10:55
字数 450
阅读 709
收藏 0

Introduce Elasticsearch Bboss:

  1. A highlevel rest client.
  2. A high performence o/r mapping rest client.
  3. A dsl and sql rest client.

First add the maven dependency of BBoss to your pom.xml:

<dependency>
            <groupId>com.bbossgroups.plugins</groupId>
            <artifactId>bboss-elasticsearch-rest-jdbc</artifactId>
            <version>5.6.2</version>
        </dependency>

If it's a spring boot project, you can replace the Maven coordinate above with the following Maven coordinate:

<dependency>
            <groupId>com.bbossgroups.plugins</groupId>
            <artifactId>bboss-elasticsearch-spring-boot-starter</artifactId>
            <version>5.6.2</version>
        </dependency>

Next, add the Elasticsearch addresses to the application.properties file under the project resource directory, and create a new one if the file does not exist:

elasticsearch.rest.hostNames=10.21.20.168:9200

#Cluster addresses are separated by commas

#elasticsearch.rest.hostNames=10.180.211.27:9200,10.180.211.28:9200,10.180.211.29:9200

If the HTTPS protocol is on, add the https protocol header to the elasticsearch address:

elasticsearch.rest.hostNames=https://10.180.211.27:9280,https://10.180.211.27:9281,https://10.180.211.27:9282

If x-pack or searchguard security authentication is enabled, configure the account and password with the following two properties in application.properties:

# x-pack or searchguard security authentication and password configuration
elasticUser=elastic
elasticPassword=changeme

And last create a jsp file named testElasticsearch.jsp :

<%@ page import="org.frameworkset.elasticsearch.ElasticSearchHelper" %>
<%@ page import="org.frameworkset.elasticsearch.client.ClientInterface" %>
<%@ page import="org.frameworkset.elasticsearch.entity.ESDatas" %>
<%@ page import="org.frameworkset.elasticsearch.scroll.ScrollHandler" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Map" %>
<%@ page import="com.frameworkset.common.poolman.SQLExecutor" %>
<%@ page language="java" pageEncoding="UTF-8"%>

<%
	ClientInterface clientUtil = ElasticSearchHelper.getRestClientUtil();
	//get elasticsearch cluster state
	String result = clientUtil.executeHttp("_cluster/state?pretty",ClientInterface.HTTP_GET);

	//check indice twitter and index type tweet exist or not.
	boolean exist1 = clientUtil.existIndiceType("twitter","tweet");
	out.println("twitter  tweet type exist:"+exist1);
	//check indice twitter exist or not
	exist1 = clientUtil.existIndice("twitter");
	out.println("twitter exist:"+exist1);
	//count documents in indice twitter
	long count = clientUtil.countAll("twitter");
	out.println(count);

	//Get All documents of indice twitter,DEFAULT_FETCHSIZE is 5000
	ESDatas<Map> esDatas = clientUtil.searchAll("twitter", Map.class);

	//Get All documents of indice twitter,Set fetchsize to 10000, Using ScrollHandler to process each batch of datas.
	clientUtil.searchAll("twitter",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");
			}
			//do something other such as do a db query.
			//SQLExecutor.queryList(Map.class,"select * from td_sm_user");
		}
	},Map.class);
    //Use slice parallel scoll query all documents of indice  twitter by 2 thread tasks. DEFAULT_FETCHSIZE is 5000
	//You can also use ScrollHandler to process each batch of datas on your own.
	esDatas = clientUtil.searchAllParallel("twitter", Map.class,2);
	out.println("searchAllParallel:ok");
%>

Put the jsp file into your web project , run it in browser, then see the execution result of bboss .

The Web demo github url:

https://github.com/bbossgroups/es_bboss_web

bboss elasticsearch document:

https://esdoc.bbossgroups.com/#/development

© 著作权归作者所有

bboss

bboss

粉丝 124
博文 62
码字总数 71419
作品 9
长沙
程序员
私信 提问
加载中

评论(5)

裸奔的皮皮虾
裸奔的皮皮虾
好的,谢谢。我再试试,想测试一下性能。
bboss
bboss 博主

引用来自“bboss”的评论

更多的交流请加群:166471282
部分测试demo会有环境依赖,有可能运行不起来,仅供大家开发参考使用
bboss
bboss 博主
更多的交流请加群:166471282
bboss
bboss 博主

引用来自“裸奔的皮皮虾”的评论

你好,运行失败! 最近在研究怎么使用BBOSS-elastic 你的好多例子都跑不起来

TotalSize:27081
dataList.size:10000

** ERROR: Unable to parse XML file poolman.xml: java.io.FileNotFoundException: D:\workspace\ideaWorkspace\elasticsearch\poolman.xml (系统找不到指定的文件。)
2019-01-17 15:14:53.385 ERROR 34564 --- [nio-8080-exec-5] o.a.c.c.C.[.[localhost].[/].[jsp] : Servlet.service() for servlet [jsp] threw exception

java.lang.NullPointerException: 获取默认数据源名称失败:请确保数据源正常启动,检查配置文件是否配置正确.
  at com.frameworkset.common.poolman.util.SQLManager.getDefaultDBName(SQLManager.java:405) ~[bboss-persistent-5.1.9.jar:na]
  at com.frameworkset.common.poolman.PreparedDBUtil.<init>(PreparedDBUtil.java:97) ~[bboss-persistent-5.1.9.jar:na]
  at com.frameworkset.common.poolman.SQLInfoDBUtil.<init>(SQLInfoDBUtil.java:24) ~[bboss-persistent-5.1.9.jar:na]
已经将执行数据库查询的代码注释掉,这个需要启动一下数据源才可以跑,并且sql中对应的表要存在。

例如:
//启动数据源(只需要在系统初始化的时候做一次就可以了)
SQLUtil.startPool("test",//数据源名称
        "com.mysql.jdbc.Driver",//mysql驱动
        "jdbc:mysql://localhost:3306/bboss?useCursorFetch=true",//mysql链接串
        "root","123456",//数据库账号和口令
        "select 1 ", //数据库连接校验sql
        10000 // jdbcFetchSize
    );
裸奔的皮皮虾
裸奔的皮皮虾
你好,运行失败! 最近在研究怎么使用BBOSS-elastic 你的好多例子都跑不起来

TotalSize:27081
dataList.size:10000

** ERROR: Unable to parse XML file poolman.xml: java.io.FileNotFoundException: D:\workspace\ideaWorkspace\elasticsearch\poolman.xml (系统找不到指定的文件。)
2019-01-17 15:14:53.385 ERROR 34564 --- [nio-8080-exec-5] o.a.c.c.C.[.[localhost].[/].[jsp] : Servlet.service() for servlet [jsp] threw exception

java.lang.NullPointerException: 获取默认数据源名称失败:请确保数据源正常启动,检查配置文件是否配置正确.
  at com.frameworkset.common.poolman.util.SQLManager.getDefaultDBName(SQLManager.java:405) ~[bboss-persistent-5.1.9.jar:na]
  at com.frameworkset.common.poolman.PreparedDBUtil.<init>(PreparedDBUtil.java:97) ~[bboss-persistent-5.1.9.jar:na]
  at com.frameworkset.common.poolman.SQLInfoDBUtil.<init>(SQLInfoDBUtil.java:24) ~[bboss-persistent-5.1.9.jar:na]
高性能Elasticsearch ORM开发库bboss es 5.0.3.7.8发布

bboss es v5.0.3.7.8已发布。bboss elasticsearch是一套基于query dsl语法操作访问分布式搜索引擎elasticsearch的o/r mapping开发库,底层基于es restful api。使用bboss es,可以快速编写出...

bboss
2017/11/16
2.2K
4
bboss elasticsearch v5.0.3.9.5 发布

bboss elasticsearch v5.0.3.9.5发布。 bboss elasticsearch特性 bboss es是一个不错的elasticsearch java客户端、高性能Elasticsearch ORM开发库。bboss es类似于mybatis,使用xml文件管理e...

bboss
2018/03/02
696
1
bboss v5.2.1 发布,Elasticsearch Rest Client

The best Elasticsearch Highlevel Rest Client API-----bboss v5.2.1 发布。 主要功能特色 ElasticSearch兼容性:2.x,5.x,6.x,+ JDK兼容性: jdk 1.7+ Spring boot兼容性:1.x,2.x ORM和DSL二......

bboss
2018/11/27
682
2
bboss elasticsearch v5.0.6.2 发布

The best elasticsearch highlevel java rest api-----bboss bboss elasticsearch v5.0.6.2 发布 v5.0.6.2新增功能及改进: 1.升级最新的bboss版本到5.0.5.7 2.新增bboss es rest boot模块,......

bboss
2018/04/29
706
1
bboss v5.0.6.8 发布,持久支持Elasticsearch SQL

bboss v5.0.6.8发布,持久层支持Elasticsearch SQL和Elasticsearch JDBC. v5.0.6.8功能改进 持久层支持支持Elasticsearch SQL,使用参考文档:玩转Elasticsearch SQL功能 解决持久层/elasti...

bboss
2018/07/02
806
2

没有更多内容

加载失败,请刷新页面

加载更多

【2019年8月版本】OCP 071认证考试最新版本的考试原题-第5题

choose the best answer The CUSTOMERS table has a CUST_LAST_NAME column of data type VARCHAR2. The table has two rows whose COST_LAST_MANE values are Anderson and Ausson. Which q......

oschina_5359
25分钟前
2
0
电脑怎样制作流程图?分享绘制流程图方法

流程图的绘制可以用很多方法来实现,小编经常使用电脑对流程图进行绘制,即简单又便利,相信很多朋友都因为不知道怎样绘制流程图而选择了放弃,今天这篇文章希望可以让大家重拾绘制流程图的信...

干货趣分享
26分钟前
2
0
Elasticsearch 7.x 之文档、索引和 REST API 【基础入门篇】

前几天写过一篇《Elasticsearch 7.x 最详细安装及配置》,今天继续最新版基础入门内容。这一篇简单总结了 Elasticsearch 7.x 之文档、索引和 REST API。 什么是文档 文档Unique ID 文档元数据...

泥瓦匠BYSocket
30分钟前
2
0
TL665x-EasyEVM开发板处理器、flash、RAM

TL665x-EasyEVM是广州创龙基于SOM-TL665x核心板研发的一款TI C66x多核定点/浮点高性能DSP开发板,采用核心板+底板方式,底板尺寸为200mm*106.65mm,采用4*50pin和1*80pin B2B工业级连接器,稳...

Tronlong创龙
35分钟前
2
0
DevExpress Report-XRTable绑定数据

将从跳转前的页面(A)中获取传入的数据(dtOrd、BatchID、ModelID),绑定到Report报表对应的控件 ,代码如下: this.xrtBatchID.Text = sBatchID; this.xrtModel.Text ...

_Somuns
36分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部