LucenePlus v1.0原声Lucene 用法注解式声明字段多库自动切换自动管理资源创建于释放自动高性能近实时索引可持续扩展的Service 接口设计内置常用的 增删改查可直接添加Java对象与Map集合 无需手动创建 Document支持操作回退可自定义分词器默认异步提交和更新1、继承 LuceneXConfig2、获取Service3、内置基础方法 满足一般业务4、如何测试5、如何实现自己的Service 介绍
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 extends Iterable extends IndexableField>> docs) public long addDocument(Iterable extends IndexableField> 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
private String indexPath;//存储地址 private boolean highlight;//是否高亮 private IndexWriter writer;//写入对象 private IndexSearcher searcher;//查询对象 private PerFieldAnalyzerWrapper analyzer;//分词器 private Class> defaultClass;//存储对象Class private Highlighter Highlighter;//高亮标签
default public int count(Query query) throws IOException { return config.getSearcher().count(query); }
LucenePlus v1.0原声Lucene 用法注解式声明字段多库自动切换自动管理资源创建于释放自动高性能近实时索引可持续扩展的Service 接口设计内置常用的 增删改查可直接添加Java对象与Map集合 无需手动创建 Document支持操作回退可自定义分词器默认异步提交和更新1、继承 LuceneXConfig2、获取Service3、内置基础方法 满足一般业务4、如何测试5、如何实现自己的Service 官网
https://git.oschina.net/Myzhang/luceneplus
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。