1 Star 0 Fork 108

感觉 / bboss-elasticsearch

forked from bboss / bboss-elasticsearch 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_zh_CN.md 6.92 KB
一键复制 编辑 原始数据 按行查看 历史
bboss 提交于 2021-10-16 18:33 . 修改文档

Elasticsearch Bboss

Bboss is a good elasticsearch Java rest client. It operates and accesses elasticsearch in a way similar to mybatis.

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

Environmental requirements

JDK requirement: JDK 1.7+ Elasticsearch version requirements: 1.X,2.X,5.X,6.X,7.x,+

bboss兼容性

bboss Elasticsearch spring boot
all 1.x 1.x,2.x
all 2.x 1.x,2.x
all 3.x 1.x,2.x
all 5.x 1.x,2.x
all 6.x 1.x,2.x
all 7.x 1.x,2.x

快速开始bboss

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

Build from source code

First Get source code from https://github.com/bbossgroups/bboss-elasticsearch

Then change to cmd window under directory bboss-elasticsearch and run gradle build command:

gradle publishToMavenLocal

Build from source code guide:

https://esdoc.bbossgroups.com/#/bboss-build

How to use Elasticsearch BBoss.

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

       <dependency>
            <groupId>com.bbossgroups.plugins</groupId>
            <artifactId>bboss-elasticsearch-rest-jdbc</artifactId>
            <version>6.3.6</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>6.3.6</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

And write java code to test bboss api:

import org.frameworkset.elasticsearch.ElasticSearchHelper;
import org.frameworkset.elasticsearch.client.ClientInterface;
import org.frameworkset.elasticsearch.entity.ESDatas;
import org.frameworkset.elasticsearch.scroll.ScrollHandler;
import java.util.List;
import java.util.Map;
import com.frameworkset.common.poolman.SQLExecutor;

import org.frameworkset.elasticsearch.scroll.HandlerInfo;
 
	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, HandlerInfo handlerInfo) 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);
	

Elasticsearch Java Demos

The following Demo and related documentation is compatible with Elasticsearch 2. X,5. X,6. X,+ versions

Elasticsearch demo for Java project:

https://github.com/bbossgroups/elasticsearch-example

Elasticsearch demo for spring booter 1.x,2.x

https://github.com/bbossgroups/es_bboss_web

https://github.com/bbossgroups/elasticsearch-springboot-example

Elasticsearch Java rest client bboss fast integration documentation

Spring boot integration ElasticSearch case sharing

Quickly integrate Elasticsearch Restful API case sharing

Quick Start

Elasticsearch BBoss Developer Tutorial

High-performance elasticsearch ORM library bboss use introduction

bboss-elastic

不错的elasticsearch客户端工具包,bboss es开发套件采用类似于mybatis的方式操作elasticsearch

jdk要求: jdk 1.7+

elasticsearch版本要求:1.X,2.X,5.X,6.X,+

快速集成和应用

Spring boot integration ElasticSearch case sharing

Quickly integrate Elasticsearch Restful API case sharing

Quick Start

elastic search配置和使用

elastic search配置和使用参考文档

High-performance elasticsearch ORM library bboss use introduction

完整的demo

https://github.com/bbossgroups/eshelloword-booter

https://github.com/bbossgroups/eshelloword-spring-boot-starter

https://github.com/bbossgroups/elasticsearchdemo

bboss elastic特点

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

版本升级注意事项

v5.0.5.7及后续版本废弃@PrimaryKey注解,改用@ESId注解来标注索引_id的值

v5.0.6.0及后续版本的dsl配置变量语法变更:

$xxx模式变量将直接输出变量的原始值,不会对变量进行特殊字符转义处理,也不会对变量进行日期格式化处理

请在代码中自行对$xxx模式变量进行特殊转移字符处理和日期格式化处理

只有#[xxx]格式的变量才会对特殊字符进行自动转义处理和日期格式化处理,同时为其增加escape布尔值属性,

用来控制是否对#[xxx]模式变量进行自动化转义处理,false禁用转义处理,true启用,默认启用

数据导入导出

增加定时任务,增量导入导出功能,目前提供了全量导入功能

elasticsearch技术交流群:166471282

elasticsearch微信公众号:bbossgroup

GitHub Logo

License

The BBoss Framework is released under version 2.0 of the Apache License.

Java
1
https://gitee.com/xiexin11/bboss-elastic.git
git@gitee.com:xiexin11/bboss-elastic.git
xiexin11
bboss-elastic
bboss-elasticsearch
master

搜索帮助