1//此时回去检索发布时间为2010-12-5的所有文档,并且bookname为work2String queryStr = “work publishdate:2010-12-5”;3QueryParser parser =newQueryParser(“bookname”,newStandardAnalyzer());4Parser.setDefaultOperator(QueryParser.AND_OPERATOR);5Query query = parser.parser(queryStr); 7、QueryParser的范围...
在lucene中扩展QueryParser是比较简单的,我们可以直接继承QueryParser类,然后实现特定的方法就可以了(查询age在20至30岁的记录): //自定义queryParserclassNumericRangeQueryParserextendsQueryParser {/***@paramarg0*/protectedNumericRangeQueryParser(String field,Analyzer analyzer) {//调用父类的构造方法super(field,anal...
import org.apache.lucene.index.IndexReader; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.*; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; import org.apache.lucene.util.Version...
关键词查询是最简单的查询,在 QueryParser 的语法里它就是一个「无空格」普通的字符串。 var analyser = new HanLPAnalyzer(); var parser = new QueryParser("content", analyser); var query = parser.parse("北京大学"); System.out.println(query); var hits = searcher.search(query, 10).scoreDocs;...
("Licensor OR ce*");//使用OR联合多关键字查询,也可用空格代替ORQuery queryoo=queryParser.parse(" Licensor ce*");//这个和使用OR一样的效果Query queryjia=queryParser.parse("+Licensor Wildcard");//+代表必须的条件,搜索文档必须包含Licensor 可能有WildcardQuery querya=queryParser.parse("Licensor AND...
一、使用自定义QueryParser的原因 对于某些QueryParser(FuzzyQuery、WildcardQuery)在查询时会使得性能降低,所以考虑将这些查询取消。 在具体的查询时候,很可能有这样一种需求:获取的是一个数字查询范围,所以必须要扩展原有的QueryParser才能进行。 二、实现方法 ...
publicstaticvoidmain(String[]args)throwsException{QueryParserqp=newQueryParser("field",neworg.apache.lucene.analysis.SimpleAnalyzer());Queryq=qp.parse(args[0]);System.out.println(q.toString("field"));}publicQueryparse(Stringquery)throwsParseException{ReInit(newFastCharStream(newStringReader(query))...
1.3.1.使用QueryParser查询 通过QueryParser也可以创建Query,QueryParser提供一个Parse方法,此方法可以直接根据查询语法来查询。Query对象执行的查询语法可通过System.out.println(query);查询。需要使用到分析器。创建索引时使用的分析器和查询索引时使用的分析器要一致。
QueryParser queryParser =newQueryParser("context",newIKAnalyzer());Query query = queryParser.parse("Java关注资料社区"); TopDocs:该类是一个简单的容器指针,指针指向前N个排名的结果,用于接收查询结果的文档,该类包含三个重要属性: scoreDocs[]:符合条件排名后的文档查询结果集,其...