# lucene-candy **Repository Path**: juque-framework/lucene-candy ## Basic Information - **Project Name**: lucene-candy - **Description**: 对lucene进行封装,使之更符合平时的开发习惯。 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2024-02-26 - **Last Updated**: 2025-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # lucene-candy #### 介绍 基于springboot2.X对lucene进行封装,提供索引到实体的映射架构,使之更符合平时的开发习惯。 #### 软件架构 1. 预加载索引到实体是映射关系,提供索引到实体、实体到索引转换的简单封装; 2. 索引预定义文档字段: _id、_version、_visible、_create_time、_update_time,BaseEntity默认绑定这5个文档字段。 3. 对lucene的增删改查API进行封装(IndexHelper),规范Reader/Writer的管理,无需手工创建、关闭。 4. 基于HTTP协议提供多节点数据同步方案,单节点默认是同default,数据只保存到本地。目前提供两种数据同步方案,tcc:参考TCC原理,对所有注册节点实时同步增删改操作;msg:收集增删改操作,多批次准实时同步到所有注册的节点。 #### 安装教程 1. clone 源码,并使用maven编译打包; 2. 引入lucene-candy依赖; 3. 在application-*.yml添加lucene-candy配置即可; 4. 在应用启动程序添加注解:@EnableLuceneCandy; 5. 为避免出现spring Bean注入失败的情况,建议在启动程序头添加如下包目录:"cn.hutool.extra.spring","cn.juque.lucenecandy"; #### 使用说明 1. 技术栈使用springboot 2.3.3.RELEASE、lucene 8.11.X、httpClient、disruptor; 2. 应用集成: * 引入lucene-candy依赖 ```xml cn.juque lucene-candy 1.0-SNAPSHOT ``` * application-*.yml添加配置 ```yaml lucene-candy: data-path: D:\\candy\\ # 存放数据的目录(必填) secret: 123456fdew # 多实例的情况下,实例的可信赖凭据(选填) ip-protocol: http # 数据同步的http 或https协议(选填) ip: 127.0.0.1:8080 # 指定当前实例的ip端口(必填) ip-cluster: '' # 多实例情况下,其他实例的ip端口(选填) data-sync: default #数据同步方式:default、tcc、msg(选填) ``` #### 相关博客 https://www.jianshu.com/p/d0adde78df99?v=1709171224498 https://www.jianshu.com/p/ede6cf8ff7db?v=1709171271595 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)