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

栏目: 软件资讯 · 发布时间: 6年前

内容简介:lucenePlus 改名为 lucenex 短的好记 lucenex 基于JDK 1.8 & lucene 7.x 的搜索框架、在不影响原本性能的同时、提升80%的开发效率、降低70%的开发难度!!! 更新日志 v1.0 *去除第三方分词依赖&无用的Jar *使用c...

lucenePlus 改名为 lucenex 短的好记

lucenex

基于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<Document> TermQuery(String field,String value,int num)
public long IntDelete(String field,int value)
public void addIndex(List<?> list)
public List<Document> searchList(Query query, int n)
public <T> Page<Document> searchList(Query query,Page<Document> page)
public List<Document> 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<Document> list,Term term)
public List<Document> 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);
}

【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Windows API编程范例入门与提高

Windows API编程范例入门与提高

东方人华 / 清华大学出版社 / 2004-1-1 / 38.00

本书通过大量实用、经典的范例,以Visual Basic为开发平台由浅入深地介绍了Windows API编程的基本方法和大量的实用技巧。本书采用实例带动知识点的形式,使读者快速入门并逐步得到提高。本书每节即是一个实例,操作步骤详尽,所用到的源文件均可在网站下载。读者可以按照操作步骤完成每个实例的制作,并根据自己的喜好进行修改、举一反三。 本书内容翔实,凝结了作者多年的编程经验,既适合......一起来看看 《Windows API编程范例入门与提高》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器