lucene入门整理.docVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
lucene入门整理

概述 Lucene是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。Lucene以其方便使用、快速实施以及灵活性受到广泛的关注。它可以方便地嵌入到各种应用中实现针对应用的全文索引、检索功能,本总结使用lucene--2.3.2。 lucene?的Document文档类 常用方法 方法 描述 void add(Field field) 往Document对象中添加字段 void removeField(String name) 删除字段。若多个字段以同一个字段名存在,则删除首先添加的字段;若不存在,则Document保持不变 void removeFields(String name) 删除所有字段。若字段不存在,则Document保持不变 Field getField(String name) 若多个字段以同一个字段名存在,则返回首先添加的字段;若字段不存在,则Document保持不变 Enumeration fields() 返回Document对象的所有字段,以枚举类型返回 Field [] getFields(String name) 根据名称得到一个Field的数组 String [] getValues(String name) 根据名称得到一个Field的值的数组 示例 Document doc1 = new Document(); doc1.add(new Field(name, word1 word2 word3, Field.Store.NO,Field.Index.TOKENIZED)); Document doc2 = new Document(); doc2.add(new Field(name, word1 word2 word3, Field.Store.NO,Field.Index.TOKENIZED)); Field字段类 构造方法 public Field(String name,String value,Store store,Index index);//直接的字符串方式 public Field(String name,String value,Store store,Index index,TermVector termVector); public Field(String name,String value,Reader reader);//使用Reader从外部传入 public Field(String name,String value,Reader reader,TermVector termVector); public Field(String name,byte[] value,Store store)//使用直接的二进制byte传入 当Field值为二进制时,可以使用Lucene的压缩功能将其值进行压缩。 Store类 静态属性 描述 Store.NO 表示该Field不需要存储 Store.YES 表示该Field需要存储 Store.COMPRESS 表示用压缩方式来保存这个Field的值 Index类 静态属性 描述 Index.NO 不需要索引 Index.TOKENIZED 先被分词再被索引 Index.UN_TOKENIZED 不对该Field进行分词,但会对它进行索引 Index.NO_NORMS 对该Field进行索引,但是不使用Analyzer,同时禁止它参加评分,主要是为了减少内存的消耗。 示例 new Field(name, word1 word2 word3,Field.Store.YES,Field.Index.TOKENIZED) IndexWriter类 构造方法 public IndexWriter(String path,Analyzer a,Boolean create) public IndexWriter(File path,Analyzer a,Boolean create) public IndexWriter(Directory d,Analyzer a,Boolean create) 第一个参数:索引存放在什么地方 第二个参数:分析器,继承自org.apache.lucene.analysis.Analyzer类 第三个参数:为true时,IndexWriter不管目录内是否已经有索引了,一律清空,重新建立;当为false时,则IndexWriter会在原有基础上增量添加索引。所以在更新的过程中,需要设置该值为false。 添加文档 public void addDocument(Document doc) public void addDocument(Document

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档