说说几个常用的类。

OpenMode是一个枚举类,有三个元素,分别表示IndexWriter的打开模式。

CREATE:每次打开IndexWriter时清空当前索引目录下的索引,再新建索引。

APPEND:打开IndexWriter时在当前索引目录下进行追加索引。

CREATE_OR_APPEND:打开IndexWriter时如果当前索引目录下没有索引,那么新建索引,否则进行追加索引。

IndexWriterConfig默认的openMode是OpenMode.CREATE_OR_APPEND。

我使用的这个版本自带的有中文分词器,名为SmartChineseAnalyzer,聪明的中文分词器,它不在核心包,可以在smartcn这个包内找到,其实并不那么聪明,它的默认停词只有标点符号,效果并不好,使用时推荐自己去加载停词库,这里有个停词库,分享给大家。

Analyzer analyzer= new SmartChineseAnalyzer(WordlistLoader.getWordSet(IOUtils.getDecodingReader(Searcher.class, "stopword.txt",StandardCharsets.UTF_8), "//"));
//stopword.txt中就是我的停词

Field是添加到索引文档中的数据,称为域(相当于关系型数据库表中的字段)。

Field有很多的扩展子类,如IntField,StringField等,它们大部分默认都是可索引的,如果这个域不需要被索引,那么我们可以去操作FieldType解决。

IndexWriter拥有索引的增删改功能。

索引的删除并不是立即从磁盘删除,而是放入索引回收站中,可回滚操作,需立即删除时:writer.forceMergeDeletes();

所谓改并不像关系型数据库中那样,lucene是删了后在新赠。

最好不要想着使用索引文档的id去删和改一个文档,因为lucene对这个支持的不多(可能是我刚入门,至少api上相关的方法寥寥无几),最好是在建立索引时自己去维护一个id域,通过term或者查询这个id来精确的去删除或改。

numDocs():索引目录下的文档总数,包括内存中缓存的文档,计算删除项

maxDoc():索引目录下的文档总数,包括内存中缓存的文档,不计算删除项

numRamDocs():内存中缓存的文档总数(你当前正在索引的文档数量)

IndexOptions索引选项枚举类,下面是成员的解释,目前我能理解的大概意思就是这样,以后再修改。

NONE:不索引。

DOCS:只有域的完整文本索引。

DOCS_AND_FREQS:只有域的完整文本和分析后的词索引。

DOCS_AND_FREQS_AND_POSITIONS:只有域的完整文本和分析后的词和位置索引。

DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS:只有域的完整文本和分析后的词和位置以及偏移量索引。

lucene开发辅助工具:luke  下载地址https://github.com/DmitryKey/luke/releases

我使用的是lucene5.5.4,但luke貌似没有支持5.5.4的版本,临近的版本只有5.5.0和6.0.0,luke5.5.0和luke6.0.0都是基于jdk1.8开发的,所以尽管使用的lucene5.5.4是使用jdk1.7但使用luke时你必须给它配置一个jdk1.8的运行环境。由于lucene的api不向下兼容的原因,所以这两个临近的版本选择哪个都无所谓,临近的版本一般都不会有什么大的改动。

最新文章

  1. ftp服务配置文件记录
  2. EF架构~AutoMapper对象映射工具简化了实体赋值的过程
  3. JVM学习笔记:字节码执行引擎
  4. webapp中的meta
  5. UILabel 添加图片
  6. flume服务的搭建
  7. React组件三
  8. yii 验证确认密码是否一致 【"compare",'compareAttribute'=>'password'】
  9. 使用IE滤镜实现css3中rgba让背景色透明的效果
  10. poj2063 Investment(多次完全背包)
  11. Winform - TreeView控件,只展开根目录
  12. MyCat 启蒙:分布式系统的数据库架构演变
  13. Android进阶(二十二)设置TextView文字水平垂直居中
  14. JavaScript 异步编程的前世今生(上)
  15. Android自动化测试之MonkeyRunner使用
  16. Java 多线程篇
  17. Linux 相关术语_002
  18. GUI库之Tkinter组件(二)
  19. PHP TP 生成二维码
  20. pio 背景色

热门文章

  1. [BOI2007]Sequence 序列问题 BZOJ1345
  2. 前三次OO作业总结
  3. Java基础笔记(十七)——继承(续)final
  4. 5.mybatis 多参数传递 -分页
  5. Jira的安装使用
  6. Educational Codeforces Round 13 C
  7. 查看当前linux有多少http连接数
  8. my23_pxc其中一个节点重建记录
  9. IOS Intro - Property Synthesis
  10. MATLAB矩阵操作和算术运算符