All Projects → niuzhiweimr → Search Spring Boot Starter

niuzhiweimr / Search Spring Boot Starter

Licence: apache-2.0
ElasticSearch封装基于ES版本6.4.2,极大简化了ES操作难度

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Search Spring Boot Starter

Spring Cloud Flycloud
🔥🔥🔥FlyClould 微服务实战项目框架,在该框架中,包括了用 Spring Cloud 构建微服务的一系列基本组件和框架,对于后台服务框架的搭建有很大的参考价值,大家可以参考甚至稍加修改可以直接应用于自己的实际的项目开发中,该项目没有采用Maven进行项目构建,Maven通过xml进行依赖管理,导致整个配置文件太过臃肿,另外灵活性也不是很强,所以我采用Gradle进行项目构建和依赖管理,在FlyTour项目中我们见证了Gradle的强大,通过简单的一些配置就可以轻松的实现组件化的功能。该项目共有11个Module工程。其中10个位微服务工程,这10个微服务工程构成了一个完整的微服务系统,微服务系统包含了8个基础服务,提供了一整套微服务治理功能,他们分别是配置中心module_c…
Stars: ✭ 1,514 (+6482.61%)
Mutual labels:  spring-data-jpa, spring-boot, springframework
Springboard
Spring Boot based production grade starter kit.
Stars: ✭ 59 (+156.52%)
Mutual labels:  spring-data-jpa, spring-boot, springframework
Spring Mvc Thymeleaf Crud
Spring MVC CRUD Application with Thymeleaf, HTML5, CSS3 and Bootstrap
Stars: ✭ 14 (-39.13%)
Mutual labels:  spring-data-jpa, spring-boot, springframework
Spring Boot Enterprise Application Development
Spring Boot Enterprise Application Development.《Spring Boot 企业级应用开发实战》
Stars: ✭ 261 (+1034.78%)
Mutual labels:  spring-data-jpa, elasticsearch, spring-boot
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (+1760.87%)
Mutual labels:  elasticsearch, spring-boot
Spring Boot In Action
Spring Boot 系列实战合集
Stars: ✭ 4,153 (+17956.52%)
Mutual labels:  spring-boot, springframework
Springbootforbeginners
Spring Boot Tutorial For Beginners
Stars: ✭ 450 (+1856.52%)
Mutual labels:  spring-data-jpa, spring-boot
Sample Hazelcast Spring Datagrid
sample spring-boot applications integrated with hazelcast imdg, and providing hot cache with hazelcast and striim
Stars: ✭ 16 (-30.43%)
Mutual labels:  spring-data-jpa, spring-boot
Spring Webmvc Jwt Sample
Secures REST APIs with Spring Security and JWT Token based Authentication
Stars: ✭ 299 (+1200%)
Mutual labels:  spring-data-jpa, spring-boot
Favorites Web
云收藏 Spring Boot 2.X 开源项目
Stars: ✭ 4,485 (+19400%)
Mutual labels:  spring-data-jpa, spring-boot
Books Recommendation
程序员进阶书籍(视频),持续更新(Programmer Books)
Stars: ✭ 558 (+2326.09%)
Mutual labels:  elasticsearch, spring-boot
Springy Store Microservices
Springy Store is a conceptual simple μServices-based project using the latest cutting-edge technologies, to demonstrate how the Store services are created to be a cloud-native and 12-factor app agnostic. Those μServices are developed based on Spring Boot & Cloud framework that implements cloud-native intuitive, design patterns, and best practices.
Stars: ✭ 318 (+1282.61%)
Mutual labels:  elasticsearch, spring-boot
Xboot
基于Spring Boot 2.x的一站式前后端分离快速开发平台XBoot 微信小程序+Uniapp 前端:Vue+iView Admin 后端:Spring Boot 2.x/Spring Security/JWT/JPA+Mybatis-Plus/Redis/Elasticsearch/Activiti 分布式限流/同步锁/验证码/SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式
Stars: ✭ 3,432 (+14821.74%)
Mutual labels:  elasticsearch, spring-boot
Ddd With Spring
Code examples for my conference talk on implementing ddd with spring
Stars: ✭ 448 (+1847.83%)
Mutual labels:  spring-boot, springframework
Angularjs Springmvc Sample Boot
A RESTful sample using Spring Boot, Spring MVC, Spring Data and Angular/Bootstrap.
Stars: ✭ 309 (+1243.48%)
Mutual labels:  spring-data-jpa, spring-boot
Hellokoding Courses
HelloKoding provides practical coding guides series of Spring Boot, Java, Algorithms, and other topics on software engineering
Stars: ✭ 490 (+2030.43%)
Mutual labels:  spring-data-jpa, spring-boot
Elasticsearchdemo
ElasticSearch+Springboot的例子,对本机的文本等文件进行全文检索
Stars: ✭ 18 (-21.74%)
Mutual labels:  elasticsearch, spring-boot
New Bee
开源社区 vue + springBoot - 前后分离微服务的最佳实践
Stars: ✭ 619 (+2591.3%)
Mutual labels:  spring-data-jpa, spring-boot
Spring Boot Examples
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
Stars: ✭ 26,812 (+116473.91%)
Mutual labels:  spring-data-jpa, spring-boot
Springbootexamples
Spring Boot 学习教程
Stars: ✭ 794 (+3352.17%)
Mutual labels:  elasticsearch, spring-boot

版本说明

默认spring boot 版本为 2.1.5.RELEASE 下载完成项目后可更改为自己项目使用的spring boot版本  
默认ElasticSearch 版本为 6.4.2 极大简化ES操作难度 注:ES版本不要升级如果升级版本太高可能部分函数不兼容

集成说明

1:关于ElasticSearch的配置参数 详见类 { EtcElasticSearchProperties }

3:maven导入坐标 ${version}根据自己编译的版本选择导入

    <dependency>
       <groupId>com.elastic.search</groupId>
        <artifactId>search-spring-boot-starter</artifactId>
        <version>${version}</version>
    </dependency>

使用说明

1 操作函数详见此包 { com.elastic.search.elasticsearch.infrastructure.executor }

2 配置索引名称需要继承 { BaseTypeIndexConfiguration } 注 :所有索引配置必须继承此类 ,建议将所有索引都配置到一个类中方便进行管理

例:

  public class ElasticsearchConfig extends BaseTypeIndexConfiguration {


     private ElasticsearchConfig(String indexName, String typeName) {
         this.setIndexName(indexName);
         this.setTypeName(typeName);
     }
 
 
     private static class OrderSearch {
         private static final ElasticsearchConfig CONF = new ElasticsearchConfig(EsConstants.INDEX_OPERATOR_WAYBILL, EsConstants.TYPE_OPERATOR_WAYBILL);
     }
 
     public static ElasticsearchConfig order() {
         return OrderSearch.CONF;
     }
 
 
 }

3 执行ElasticSearch操作 注:以下示例操作并非最全函数可以自己探索 ,「索引配置」是类中的一个静态属性每个示例都写是为了方便理解

(增)例:

        索引配置
        private static ElasticsearchConfig esConfiguration = ElasticsearchConfig.order();


         //创建需要存入的对象
         EsOrder esOrder = new EsOrder();
         esOrder.setId(1000003L);
         esOrder.setOrderId("123");
         esOrder.setAmount(10.0);
         esOrder.setCategoryId(11);
         esOrder.setProductCode("123");
         esOrder.setStoreName("测试");
         esOrder.setQuantity(1);
         esOrder.setCreateTime(new Date());
         
          Boolean execute = new BaseSearchSaveExecutor<EsOrder>() {
                     @Override
                     public ElasticsearchConfig getConfig() {
                         return esConfiguration;
                     }
                 }.execute(esOrder);

(删)例:

1)主键删除

    //索引配置
    private static ElasticsearchConfig esConfiguration = ElasticsearchConfig.order();
    
    Boolean execute = new BaseSearchDeleteExecutor<Boolean>() {
               @Override
               public ElasticsearchConfig getConfig() {
                   return esConfiguration;
               }
           }.execute(1000002L);

2)条件删除

    //索引配置
    private static ElasticsearchConfig esConfiguration = ElasticsearchConfig.order();
    
    List<SearchCondition> searchConditions = SearchConditionUtils.start()
                    .addCondition("id", 1000000, ConditionExpressionEnum.EQUAL)
                    .end();
    Boolean execute = new BaseSearchDeleteExecutor<Boolean>() {
                @Override
                public ElasticsearchConfig getConfig() {
                    return esConfiguration;
                }
            }.execute(searchConditions);

(改)例:

1)主键更新:

    //索引配置
    private static ElasticsearchConfig esConfiguration = ElasticsearchConfig.order();
    
    EsOrder esOrder = new EsOrder();
    esOrder.setId(1000001L);
    esOrder.setOrderId("123");
    esOrder.setAmount(10.0);
    esOrder.setCategoryId(11);
    esOrder.setProductCode("123");
    esOrder.setStoreName("测试");
    esOrder.setQuantity(1);
    esOrder.setCreateTime(new Date());
          
    Boolean execute = new BaseSearchUpdateExecutor<EsOrder>() {
              @Override
              public ElasticsearchConfig getConfig() {
                  return esConfiguration;
              }
          }.execute(esOrder);                                            

2)条件更新:

    //索引配置
    private static ElasticsearchConfig esConfiguration = ElasticsearchConfig.order();
  
    EsOrder esOrder = new EsOrder();
    esOrder.setId(1000001L);
    esOrder.setOrderId("123");
    esOrder.setAmount(10.0);
    esOrder.setCategoryId(11);
    esOrder.setProductCode("123");
    esOrder.setStoreName("测试");
    esOrder.setQuantity(1);
    esOrder.setCreateTime(new Date());
  
    //条件
    List<SearchCondition> searchConditions = SearchConditionUtils.start()
                  .addCondition("id", 1000000, ConditionExpressionEnum.EQUAL)
                  .end();
  
    Boolean execute = new BaseSearchUpdateExecutor<EsOrder>() {
              @Override
              public ElasticsearchConfig getConfig() {
                  return esConfiguration;
              }
          }.execute(esOrder, searchConditions);

(查)例:

1)普通条件查询

    //索引配置
    private static ElasticsearchConfig esConfiguration = ElasticsearchConfig.order();

    List<SearchCondition> searchConditions = SearchConditionUtils.start()
                    .addCondition("orderId", 123, ConditionExpressionEnum.EQUAL)
                    .addCondition("id", 1000002, ConditionExpressionEnum.EQUAL)
                    .end();
    List<EsOrder> list = new BaseSearchQueryExecutor<EsOrder>() {
                @Override
                public ElasticsearchConfig getConfig() {
                    return esConfiguration;
                }
            }.list(searchConditions);

2)分页查询

    //索引配置
    private static ElasticsearchConfig esConfiguration = ElasticsearchConfig.order();
    
    List<SearchCondition> searchConditions = SearchConditionUtils.start()
                    .addCondition("orderId", 123, ConditionExpressionEnum.EQUAL)
                    .end();
                    
     List<EsOrder> list = new BaseSearchQueryExecutor<EsOrder>() {
                @Override
                public ElasticsearchConfig getConfig() {
                    return esConfiguration;
                }
            }.list(searchConditions, 0, 2);

3)分页排序查询

       //索引配置
       private static ElasticsearchConfig esConfiguration = ElasticsearchConfig.order();
       
       //分页
       PageCondition pageCondition = PageConditionUtils.create(2, 0);
       //排序
       List<OrderCondition> orderConditions = OrderConditionUtils.start().addCondition("createTime", SortEnum.DESC).end();
       //条件
       List<SearchCondition> searchConditions = SearchConditionUtils.start()
                      .addCondition("orderId", 123, ConditionExpressionEnum.EQUAL)
                      .end();
                       
       List<EsOrder> list = new BaseSearchQueryExecutor<EsOrder>() {
                   @Override
                   public ElasticsearchConfig getConfig() {
                       return esConfiguration;
                   }
               }.list(searchConditions, orderConditions, pageCondition);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].