Lucene公司学习培训.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TermQuery TermQuery是抽象类Query的一个子类,它同时也是Lucene支持的最为基本的一个查询类。 生成一个TermQuery对象由如下语句完成: 它的构造函数只接受一个参数,那就是一个Term对象。 TermQuery termQuery = new TermQuery(new Term(“fieldName”,”queryWord”)); Hits Hits是用来保存搜索的结果的。 基于性能考虑,Hits的实例并不从索引中加载所有匹配查询的所有文档,而是每次一小部分。 public final int length() public final Document doc(int?n)… public final float score(int?n)… public final int id(int?n)… public Iterator iterator() 关键词搜索的大致过程 最简单的接受单个Query对象做为参数并返回一个Hits对象。这个方法的典型应用类似这样: IndexSearcher sercher = new IndexSearcher( INDEX_DIR); Query q = new TermQuery(new Term(“contents”, “lucene”)); Hits hits = sercher.search(q); for (int i = 0; i hits.length(); i++) { Document doc = hits.doc(i); String summary = doc.get(“title); } BooleanQuery布尔搜索 BooleanQuery是实际开发过程中经常使用的一种Query。 它其实是一个组合的Query,在使用时可以把各种Query对象添加进去并标明它们之间的逻辑关系。 BooleanQuery是可以嵌套的(BooleanQuery是一个布尔子句的容器) 一个BooleanQuery可以成为另一个BooleanQuery的条件子句。 布尔型Query的子句数目不能超过1024 BooleanClause布尔搜索 public void add(Query?query, BooleanClause.Occur?occur) BooleanClause用于表示布尔查询子句关系的类,包括: BooleanClause.Occur.MUST,BooleanClause.Occur.MUST_NOT,BooleanClause.Occur.SHOULD。 有以下6种组合: 1.MUST和MUST:取得连个查询子句的交集。 2.MUST和MUST_NOT:表示查询结果中不能包含MUST_NOT所对应得查询子句的检索结果。 3.MUST_NOT和MUST_NOT:无意义,检索无结果。 4.SHOULD与MUST、SHOULD与MUST_NOT: SHOULD与MUST连用时,无意义,结果为MUST子句的检索结果。 SHOULD与MUST_NOT连用时, SHOULD功能同MUST,相当于MUST和 MUST NOT的检索结果。 5.SHOULD与SHOULD:表示“或”关系,最终检索结果为所有检索子句的并集。 RangeQuery范围搜索 public RangeQuery(Term?lowerTerm, Term?upperTerm, boolean?inclusive) 布尔型的参数表示是否将2个临界值也加入到搜索中 查找所有书号在000001到000005之间的图书,并且不包括000001和000005 IndexSearcher searcher = new IndexSearcher(PATH); Term begin = new Term(booknumber,000001); Term end = new Term(booknumber,000005); RangeQuery query = new RangeQuery(begin,end,false); Hits hits = searcher.search(query); PrefixQuery 前缀搜索 《钢铁是怎样炼成的》《英雄儿女》《篱笆女人和狗》《女人是水做的》《我的兄弟和女儿》《白毛女》《钢的世界》《钢铁战士》 《钢铁是怎样炼成的》《钢的世界》《钢铁战士》 IndexSearcher searcher = new IndexSearcher(PATH); Term prefix = new Term(bookname,钢); PrefixQuery query = new PrefixQuery(prefix); Hit

文档评论(0)

151****0104 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档