BooleanClause用于表示布尔查询子句关系的类,
包 括:BooleanClause.Occur.MUST,BooleanClause.Occur.MUST_NOT,BooleanClause.Occur.SHOULD。
必须包含,不能包含,可以包含三种.有以下6种组合:
a.MUST和MUST:取得连个查询子句的交集。
b.MUST和MUST_NOT:表示查询结果中不能包含MUST_NOT所对应得查询子句的检索结果。
c.SHOULD与MUST_NOT:连用时,功能同MUST和MUST_NOT。
d.SHOULD与MUST连用时,结果为MUST子句的检索结果,但是SHOULD可影响排序。
e.SHOULD与SHOULD:表示“或”关系,最终检索结果为所有检索子句的并集。
f.MUST_NOT和MUST_NOT:无意义,检索无结果。
)
四,主要步骤(直接上代码)
public static final String QUERY_FIELD1 = NAMES;//设置域
/**
* 对应数组
*/
//域查询对应数组(BooleanClause.Occur.SHOULD对应参数)
public static final BooleanClause.Occur[] QUERY_FLAGSFOUR1 = {BooleanClause.Occur.SHOULD};
// 创建索引
//org.apache.lucene.document.Document (这个包)
1,创建索引
String path = “/LuneceProject/WebContent/WEB-INF/lunece/news.txt”;//索引存放目录,可以自己设置内容
Directory directory = new SimpleFSDirectory(new File(path));//创建目录
boolean exist = IndexReader.indexExists(directory);//检测目录是否存在
IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(
Version.LUCENE_30), !exist, IndexWriter.MaxFieldLength.LIMITED);
if (exist) {
File file = new File(path);
if (file.exists()) {
// 文件删除
file.delete();
}
Document doc=Document();//创建文档对象
//contenxt是一个对象,Name添加到域
doc.add(new Field(NAMES,context.getName().toString(), Field.Store.YES,
Field.Index.NOT_ANALYZED));//是否分域查询,是否拆词
2,通过参数检索
3,通过BooleanQuery进行检索
4,接收检索结果
5,多参数检索通过域
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!