去除lucene繁琐的操作,让你专注于实现业务!
- 原生lucene用法
- 天然支持多数据源
- 自带数据源创建和垃圾回收
- 默认实现近实时索引
- MyDocument 加持 支持 map、json、obj 自动转换
- 一键高亮支持
- 统一的service接口思想
- 注解式声明字段
new LuceneX(new LuceneXConfig() {
@Override
public void configLuceneX(BaseConfig me) {
me.add("d:/","test",Empty.class);
}
});
import com.ld.lucenex.field.FieldKey;
import com.ld.lucenex.field.LDType;
public class Empty{
@FieldKey(type = LDType.IntPoint)
private int id;
@FieldKey(type = LDType.StringField)
private String name;
@FieldKey(type = LDType.TextField,highlight = true)
private String text;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
List<Empty> empties = new ArrayList<>(10);
for (int i=0;i<10;i++){
Empty empty = new Empty();
empty.setId(i);
empty.setName("新闻");
empty.setText("8月29日,2019世界人工智能大会在上海开幕,本届大会以“智联世界,无限可能”为主题,展示包括中国在内各国最新的AI产品和技术。在本届大会上,除了各国展出的最新AI技术和产品外,由华为、寒武纪、依图等国内企业自主研发的人工智能芯片组成的AI芯片墙更是受到参观者的关注。图为微软带来了智能菜品识别系统,把食物放在收银检测区,便能自觉识别价格。更厉害的是,系统还能给出营养分析报告,例如热量、脂肪、碳水物、蛋白质等含量。");
empties.add(empty);
}
ServiceImpl<Empty> basisService = ServiceFactory.getService(ServiceImpl.class);
basisService.addObjects(empties);
ServiceImpl<Empty> basisService = ServiceFactory.getService(ServiceImpl.class);
Empty searchOne = basisService.searchOne(new TermQuery(new Term("name","百度一下")));
- 字段表明 highlight = true,并且 type = LDType.TextField
@FieldKey(type = LDType.TextField,highlight = true)
private String text;
- 必须调用searchList 并且返回类型是
- 必须调用ServiceImpl内置的添加/更新删除方法
import com.ld.lucenex.service.ServiceImpl;
public class DemoService<T> extends ServiceImpl<T> {
public DemoService(String sourceKey) {
super(sourceKey);
}
}
- 只要在项目启动的时候 创建lucene数据源即可
- 更改BasisService中3个私有方法改为public
- 去除pom.xml中的一个旧的依赖
- 去除一个递归调用接口bug
- 大量改动与之前版本不兼容
- 新增关闭保护,jvm停止前提交所有队列里的数据,保证数据的完整性
- 新增 IndexSource 类代表每一个数据源
- 优化 LuceneX 统一资源管理
- 新增 MyDocument 代替 Object 转 Document 方法
- 新增 ServiceImpl
- 新增 ServiceFactory
- 升级 lucene 为 8.2.0
- 新增 searchOneDoc 方法
- 新增 SimpleExample 用例
- 增加单个对象添加索引
- 同步实时索引
- 增加jfinal、springboot、servlet等集成插件
- 精简代码
- 增加两个实用方法
- 删除2个依赖
- 适配 javabean and map and fastjson 直接添加
- 自动提交&关闭数据、避免丢失数据或手动提交
- 补充大量文档注释
- 精简&优化代码
- 修复一个错误的Demo
- 去除第三方分词依赖&无用的Jar
- 使用cglib 动态代理创建 Service
- 新增拦截器
- 添加更新 默认异步
- QQ群号:475349334
下载后使用Maven打包成jar
mvn clean package -DskipTests