LucenePlus 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
LucenePlus 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
LucenePlus 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
LucenePlus 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
LucenePlus 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发搜索引擎
开源组织
地区 国产
投 递 者 调调哥
适用人群 未知
收录时间 2017-04-13

软件简介

lucenex 原LucenePlus

基于JDK 1.8 & lucene 7.x 的搜索框架、在不影响原本性能的同时、提升80%的开发效率、降低70%的开发难度!!!

更新日志

v1.0

*去除第三方分词依赖&无用的Jar *使用cglib 动态代理创建 Service *新增拦截器 *添加更新 默认异步

特点

原声Lucene 用法

注解式声明字段

多库自动切换

自动管理资源创建于释放

自动高性能近实时索引

可持续扩展的Service 接口设计

内置常用的 增删改查

可直接添加Java对象与Map集合 无需手动创建 Document

支持操作回退

可自定义分词器

默认异步提交和更新

用法

1、继承 LuceneXConfig

public class DemoConfig extends LuceneXConfig{
	@Override
	public void configConstant(Constants me) {
	}
	@Override
	public void configLuceneX(BaseConfig me) {
		// 存储目录 、名称、高亮、分词器、存储类
		me.add("d:/", "test",  false, new PerFieldAnalyzerWrapper(new StandardAnalyzer()), Empty.class);
	}
}

2、获取Service

//默认使用第一个存储库(如果您只有一个库或使用第一个库的话)
BasisService basisService = LdService.newInstance(BasisService.class);
//自定义使用库
BasisService basisService = LdService.newInstance(BasisService.class,"test");

3、内置基础方法 满足一般业务

public List TermQuery(String field,String value,int num)
public long IntDelete(String field,int value)
public void addIndex(List list)
public List searchList(Query query, int n)
public  Page searchList(Query query,Page page)
public List searchTotal()
public long addDocuments(Iterable> docs)
public long addDocument(Iterable doc)
public int count(Query query)
public TopDocs search(Query query, int n)
public TopFieldDocs search(Query query, int n, Sort sort)
public long deleteAll()
public long deleteDocuments
public long deleteDocuments(Term... terms)
public void deleteUnusedFiles()
public long updateIndex(List list,Term term)
public List toDocument(List list)
public void goBack()

4、如何测试

//手动启动
LuceneX.start(DemoConfig.class);

5、如何实现自己的Service

5.1、继承BasisService

5.2、可以使用父类已有的基础方法也可以使用 SourceConfig config 变量获取以下字段

private String indexPath;//存储地址
private boolean highlight;//是否高亮
private IndexWriter writer;//写入对象
private IndexSearcher searcher;//查询对象
private PerFieldAnalyzerWrapper analyzer;//分词器
private Class defaultClass;//存储对象Class
private Highlighter highlighter;//高亮标签

5.3、使用实例Demo

default public int count(Query query) throws IOException {
	return config.getSearcher().count(query);
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (3)

加载中
打分: 力荐
能支持join查询吗?IK分词,词典很大,效率测试过吗?
2018/01/08 14:01
回复
举报
调调哥软件作者
打分: 力荐
推荐
2017/07/16 17:33
回复
举报
打分: 力荐
赞赞
2017/06/23 10:05
回复
举报
更多评论
发表于开发技能专区
2019/09/02 12:15

lucene plus 2.1 发布,简化搜索

去除lucene繁琐的操作,让你专注于实现业务! 文档 简介:https://gitee.com/Myzhang/luceneplus/blob/master/README.md javadoc:https://apidoc.gitee.com/Myzhang/luceneplus Demo:https://gitee.com/Myzhang/luceneplus/tree/master/src/test/java/com/ld/lucenex/demo 特点 原生lucene用法 天然支持多数据源 自带数据源创建和垃圾回收 默认实现近实时索引 MyDocument 加持 支持 map、json、obj 自动转换 一键高亮支持 统一...

2
22
发表于服务端专区
2019/08/31 17:38

Lucenex 2.0 发布,努力让搜索更简单

lucenex 基于JDK 1.8 & lucene 8.x 的搜索框架、在不影响原本性能的同时、提升80%的开发效率、降低70%的开发难度!!! 入门 创建lucene数据源 new LuceneX(new LuceneXConfig() { @Override public void configLuceneX(BaseConfig me) { me.add("d:/","test",Empty.class); } }); 定义实体类 import com.ld.lucenex.field.FieldKey; import co...

6
35
发表于开发技能专区
2018/12/17 17:21

Lucenex 1.2 发布,急速开发全文检索框架

lucenex 基于JDK 1.8 & lucene 7.x 的搜索框架、在不影响原本性能的同时、提升80%的开发效率、降低70%的开发难度!!! 文档 javadoc:https://apidoc.gitee.com/Myzhang/luceneplus 轻松入门:https://gitee.com/Myzhang/luceneplus/blob/master/README.md 入门实例:https://gitee.com/Myzhang/luceneplus/tree/master/src/test/java/com/ld/lucenex/demo 更新日志 v1.2 增加jfinal、springboot、servlet等集成插件 精简代码 ...

3
21
2018/12/07 01:08

Lucenex-v 1.1 优化版发布,不足千行的全文检索框架

lucenex 基于JDK 1.8 & lucene 7.x 的搜索框架、在不影响原本性能的同时、提升80%的开发效率、降低70%的开发难度!!! 文档 javadoc:https://apidoc.gitee.com/Myzhang/luceneplus 轻松入门:https://gitee.com/Myzhang/luceneplus/blob/master/README.md 入门实例:https://gitee.com/Myzhang/luceneplus/tree/master/src/test/java/com/ld/lucenex/demo 更新日志 v1.1 补充大量文档注释 精简&优化代码 修复一个错误的Demo ...

6
21
发表于服务端专区
2018/12/05 14:39

LucenePlus 改版正式归来、初步满足,简、易、稳、快

lucenePlus 改名为 lucenex 短的好记 lucenex 基于JDK 1.8 & lucene 7.x 的搜索框架、在不影响原本性能的同时、提升80%的开发效率、降低70%的开发难度!!! 更新日志 v1.0 *去除第三方分词依赖&无用的Jar *使用cglib 动态代理创建 Service *新增拦截器 *添加更新 默认异步 特点 原声Lucene 用法 注解式声明字段 多库自动切换 自动管理资源创建于释放 自动高性能近实时索引 可持续扩展的Service 接口设计 内置常用的 增删改查 ...

11
40
发表了资讯
2017/11/04 18:29

LucenePlus 1.5.5 发布,基于 Lucene 的全文搜索框架

LucenePlus 1.5.5 发布,更新内容: 百万数据添加-20秒以内 百万数据查询-3秒(一次性查询出一百万条) 新增spring集成方式 jfinal,spring demo分享 修复已知BUG LucenePlus 是基于 Lucene 6.x 实现的,具有易学易用、极其稳定、内置功能丰富的全文搜索框架。Lucene 6.x 要求 JDK 版本 1.8 以上。

2
43
发表了资讯
2017/09/18 23:43

LucenePlus 1.5.1 发布,基于 Lucene 的全文搜索框架

LucenePlus 1.5.1 已发布,本次版本变更如下: 修改两个数据源bug 搜索改为实时搜索 优化代码,效率更高 API 无明显变化 LucenePlus 是基于 Lucene 6.x 实现的,具有易学易用、极其稳定、内置功能丰富的全文搜索框架。Lucene 6.x 要求 JDK 版本 1.8 以上。

5
23
发表了资讯
2017/09/10 06:40

LucenePlus 1.5,基于 Lucene 的全文搜索框架

LucenePlus 1.5 发布了 。1.5.0 新功能&改善: 去除xml配置 查询统一改为Query 优化逻辑代码 优化Ik分词器 增强扩展词库 每一列字段可独立分词器&每个分词器可独立一个扩展词库 完善文档 完善查询的手法,如:单个,多个,精确,模糊,范围,时间等。。。 优化luceneService 接口 总结:更加简洁,无需配置,更接近原生,性能更高

2
31
发表了资讯
2017/07/15 06:28

LucenePlus 1.4,基于 Lucene 的全文搜索框架

LucenePlus 1.4 已发布,基于 lucene 6.5 开发,jdk 要求 1.8。 更新亮点 1、增加动态权重 (做竞价排名使用) 2、增加Jfinal 专属插件 4行代码搞定 3、添加索引效率再次提升 4、增加中文手册(更新跟随版本1.4开始)、梳理重点 只需看简单的 3个类 走上搜索巅峰 更新 bug、调整 1、动态数据源bug修改 2、字段略微调整 3、查询略微调整 4、集成方式略微调整 5、细节优化...

11
34
发表了资讯
2017/06/22 22:44

LucenePlus 1.3 发布,基于 Lucene 的全文搜索框架

LucenePlus 1.3 发布了,主要更新如下: 动态词库添加 对外集成 异常处理优化 以下是更新截图

0
36
发表了资讯
2017/06/07 13:59

LucenePlus 1.2 发布,基于 Lucene 的全文搜索框架

LucenePlus 1.2 发布了,这是一款基于 Lucene 的全文搜索框架。 更新如下: 优化代码结构、更加易用简洁 增加字段支持 float,binary,double,text 自定义 query 查询 排序重新定义 增加 LucenePlus 数据源、更清晰明了、随意切换

3
29
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
发表了问答
2017/10/23 22:03

您好,LucenePlus 报错截图

@调调哥 你好,想跟你请教个问题:

3
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
3 评论
174 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部