摘要: Lucene学习总结之九:Lucene的查询对象(1)http://www.cnblogs.com/forfuture1978/archive/2010/05/19/1738803.htmlLucene学习总结之九:Lucene的查询对象(2)http://www.cnblogs.com/forfuture1978/archive/2010/05/19/1738804.htmlLucene学习总结之九:Lucene的查询对象(3)http://www.cnblogs.com/forfuture1978/archive/2010/05/19/1738805.html--------------- 阅读全文
posted @ 2010-05-19 02:35 刘超觉先 阅读(4765) 评论(1) 推荐(5) 编辑
摘要: Lucene除了支持查询语法以外,还可以自己构造查询对象进行搜索。 从上一节的Lucene的语法一章可以知道,能与查询语句对应的查询对象有:BooleanQuery,FuzzyQuery,MatchAllDocsQuery,MultiTermQuery,MultiPhraseQuery,PhraseQuery,PrefixQuery,TermRangeQuery,TermQuery,WildcardQuery。 Lucene还支持一些查询对象并没有查询语句与之对应,但是能够实现相对高级的功能,本节主要讨论这些高级的查询对象。 它们中间最主要的一些层次结构如下,我们将一一解析。 Query B. 阅读全文
posted @ 2010-05-19 02:29 刘超觉先 阅读(9594) 评论(4) 推荐(4) 编辑
摘要: 5、SpanQuery 所谓SpanQuery也即在查询过程中需要考虑进Term的位置信息的查询对象。 SpanQuery中最基本的是SpanTermQuery,其只包含一个Term,与TermQuery所不同的是,其提供一个函数来得到位置信息: public Spans getSpans(final IndexReader reader) throws IOException { return new TermSpans(reader.termPositions(term), term); } Spans有以下方法: next() 得到下一篇文档号,不同的SpanQuery此方... 阅读全文
posted @ 2010-05-19 02:29 刘超觉先 阅读(3236) 评论(0) 推荐(1) 编辑
摘要: 6、FilteredQuery FilteredQuery包含两个成员变量: Query query:查询对象 Filter filter:其有一个函数DocIdSet getDocIdSet(IndexReader reader) 得到一个文档号集合,结果文档必须出自此文档集合,注此处的过滤器所包含的文档号并不是要过滤掉的文档号,而是过滤后需要的文档号。 FilterQuery所得到的结果集同两者取AND查询相同,只不过打分的时候,FilterQuery只考虑query的部分,不考虑filter的部分。 Filter包含很多种如下: 6.1、TermsFilter 其包含一个成员变量... 阅读全文
posted @ 2010-05-19 02:29 刘超觉先 阅读(6151) 评论(0) 推荐(1) 编辑