lucene3.0中BooleanQuery 实现与或的复合搜索 .
BooleanClause用于表示布尔查询子句关系的类,包括:BooleanClause.Occur.MUST,BooleanClause.Occur.MUST_NOT,BooleanClause.Occur.SHOULD。必须包含,不能包含,可以包含三种.有以下6种组合:
1.MUST和MUST:取得连个查询子句的交集。
2.MUST和MUST_NOT:表示查询结果中不能包含MUST_NOT所对应得查询子句的检索结果。
3.SHOULD与MUST_NOT:连用时,功能同MUST和MUST_NOT。
4.SHOULD与MUST连用时,结果为MUST子句的检索结果,但是SHOULD可影响排序。
5.SHOULD与SHOULD:表示“或”关系,最终检索结果为所有检索子句的并集。
6.MUST_NOT和MUST_NOT:无意义,检索无结果。
private static void search(String str) throws Exception {
IndexReader reader = IndexReader.open(FSDirectory.open(new File(
INDEX_DIR)), true); // only searching,
// so read-only=true
Searcher searcher = new IndexSearcher(reader);
Analyzer analyzer = new IKAnalyzer();
String field = "contents";
QueryParser parser = new QueryParser(Version.LUCENE_CURRENT, field,
analyzer);
Query query = null;
str = getKeyWord(str);
query = parser.parse(str);
BooleanQuery q = new BooleanQuery();
q.add(query, BooleanClause.Occur.MUST);
QueryParser parser2 = new QueryParser(Version.LUCENE_CURRENT, "keyword", analyzer);
Query q2 = parser2.parse(str);
// q2.setBoost(10);
q.add(q2, BooleanClause.Occur.SHOULD);
TopScoreDocCollector collector = TopScoreDocCollector.create(10, false);
searcher.search(q, collector);
ScoreDoc[] hits = collector.topDocs().scoreDocs;
}
分享到:
相关推荐
lucene3.0 lucene3.0 lucene3.0 lucene3.0 lucene3.0
lucene 3.0 API中文帮助,学习的人懂得的
Lucene3.0 使 用 教 程 Lucene3.0 使 用 教 程 Lucene3.0 使 用 教 程 Lucene3.0 使 用 教 程 Lucene3.0 使 用 教 程 Lucene3.0 使 用 教 程 Lucene3.0 使 用 教 程 Lucene3.0 使 用 教 程 Lucene3.0 使 用 教 程 ...
Lucene3.0特性Lucene3.0特性
Lucene3.0之查询处理(1):原理和查询类型 各种Query对象详解
lucene3.0 中文分词器, 庖丁解牛
Lucene 3.0 原理与代码分析完整版
lucene3.0 实例,在jdk1.5,lucene3.0下调式通过,可以直接运行。先运行生成索引文件的class,在运行搜索的class。
lucene3.0的核心jar包文件,lucene3.0的核心jar包文件,lucene3.0的核心jar包文件,lucene3.0的核心jar包文件。
lucene3.0-highlighter.jar lucene3.0的高亮jar包,从lucene3.0源码中导出来的
传智播客Lucene3.0课程,Lucene3.0的入门教程.
在使用lucene3与paoding集成的时候可能会出现以下错误: Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z at org.apache.lucene.index....
Lucene 3.0 原理 Lucene 3.0 原理 Lucene 3.0 原理 Lucene 3.0 原理
lucene3.0使用介绍及实例,从不同的使用方面介绍了lucene的使用及相应的实例。
全面好用的lucene 2.0 api以及lucene 3.0 api帮助文档
基于lucene3.0 书籍查询系统 基于lucene3.0 书籍查询系统
Lucene3.0浅析Lucene3.0浅析Lucene3.0浅析Lucene3.0浅析
lucene3.0 api中文帮助文档,欢迎大家下载 解压出来index.html-overview-summary.html为概述页
Lucene3.0分词系统.doc