lucene中的IndexWriter中的IndexWriterConfig的详解_chuanpei6741的博客-程序员宅基地

lucene中的IndexWriter中的IndexWriterConfig的详解
    在Lucene3.X版本中,与前几个版本的不同的地方包括了IndexWriter实例的初始化,其中需要用到IndexWriterConfig这个类。另外,从Lucene的API中可以看到目前IndexWriter类最新的构造函数需要用到IndexWriterConfig这个类(其它的构造函数不建议使用,被废弃掉了)
    创建IndexWriter实例时,通过IndexWriterConfig来设置其相关配置
(1)Analyzer analyzer 分析器
(2)Version matchVersion 所用Lucene的版本
(3)double ramBufferSizeMB
    随机内存 默认为16M.用于控制buffer索引文档的内存上限,如果buffer的索引文档个数到达该上限就写入硬盘。当然,一般来说越大索引速度越快
(4)int maxBufferedDocs
    最大缓存文档数,该参数决定写入内存索引文档个数,到达该数目后就把该内存索引写入硬盘,生成一个新的索引segment文件。所以该参数也就是一个内存buffer,一般来说越大索引速度越快,默认不启用
(5)int maxBufferedDeleteTerms
    最大缓存删除词条数,当数量达到时会刷新现有的索引段。默认不启用
(6)IndexReaderWarmer mergedSegmentWarmer
    默认值为NULL
(7)int termIndexInterval
    索引分词间隔,值越大IndexReader耗费的内存越小。这个参数决定着查询每个分词时所耗费的计算量。通常情况下它代表着在一个分词被定位到时,需要扫描的其他分词的最大值。默认值为32
(8)IndexDeletionPolicy delPolicy
    索引删除策略,默认为KeepOnlyLastCommitDeletionPolicy,只保持最近一次的提交信息
(9)IndexCommit commit
    索引的变更如果要可见(如IndexDeletionPolicy,IndexReader中),必须提交COMMIT。
每次提交都有一个唯一的segments_N文件与之关联。默认NULL
 (10)OpenMode openMode
    IndexWriter的打开模式,默认为CREATE_OR_APPEND,如果索引存在则打开进行扩充,否则新建
(11)Similarity similarity
   定义索引中分词的权重及打分情况。默认值为IndexSearcher.getDefaultSimilarity()
(12)MergeScheduler mergeScheduler
    合并定时器,每个线程执行一个merge操作,默认为ConcurrentMergeScheduler
(13)long writeLockTimeout
    写锁超时时间 默认为1000毫秒
(14)IndexingChain indexingChain
    索引链,定义文档是如何被索引的,默认采DocumentsWriterPerThread.defaultIndexingChain
(15)MergePolicy mergePolicy
    索引段的合并策略。默认为TieredMergePolicy根据每一层允许的段数合并大小相似的段
(16)boolean readerPooling
    实例化IndexReader是非常昂贵的操作,且它是一个线程安全的,跟索引目录是一一对应的,最好的方式就是用一个Pool去维护这些IndexReader:保证一个文件目录只有一个实例,且不同的IndexReader可以动态的组合。默认为false 不使用Pool.


转载于:https://my.oschina.net/u/1434326/blog/291866

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chuanpei6741/article/details/100816039

智能推荐

Unity 获得视频的某一帧,生成缩略图_weixin_33856370的博客-程序员宅基地

Unity 并无直接获取视频某一帧图像的API,所以想要生成缩略图就要自己写方法了,图片和视频都可以用这种方式生成缩略图,另,转载请标明出处,谢谢。 1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 using UnityEngine.Video;...

oracle概念和术语_cunxiyuan108的博客-程序员宅基地

<br />Oracle数据库系统是一个复杂的软件系统。如果不了解其内部的结构原理及关系,就不可能设计和编写出高质量的应用软件系统,也不可能管理好一个复杂的应用系统。为了给以后章节的打好基础,本章简要给出 ORACLE 8 /ORACLE8i数据库系统结构的描述。 <br /><br />§2.1  术语 <br /><br />l 数据库块(BLOCK) <br /><br />ORACLE 数据库中的最小存储和处理单位,包含块本身的头信息数据或PL/SQL代码。 <br />ORACLE 块的大小是可以

Windows下编译 ImageMagick 的php API_afarliu的博客-程序员宅基地

转自:http://blog.csdn.net/golden_chan/article/details/5712266首先,需要的软件包有:PHP5.2.5 源码包[http://www.php.net/downloads.php]bindlib_w32 [http://www.php.net/extra/bindlib_w32.zip]win32build [http://w

Java并发编程_Java并发编程实战(11)_vx-Yang_Gaige的博客-程序员宅基地

1.生产者和消费者模式在并发编程中使用生产者和消费者模式能够解决大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序整体处理数据的速度。 在线程的世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。为了解决这种生产消费能力不均衡的问题,便有了生产者和消费者模式。 tips:什么...

maya的布尔运算规则_mengtianwxs的博客-程序员宅基地_maya布尔

私总结了一下maya布尔运算失败的若干原因以及其经典的布尔消失问题。第一,避免combine操作使参加布尔运算的节点具备布尔运算的程序范畴。   如果将两个combine的物体与另一物体进行布尔运算很容易出现问题。此时可以事先将两个物体交集运算(union)之后再与其他物体参加布尔运算从而避免布尔运算失败。*以下几点则是参考网上资料。第二,布尔运算的两个物体接触的部分必须要

MySQL 性能优化_dan_xian的博客-程序员宅基地

1. 为查询缓存优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:...

随便推点

分布式锁的三种实现方式_谈胖胖的博客-程序员宅基地_分布式锁怎么实现

在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。所以针对分布式锁的实现目前有多种方案:分布式锁一般有三种实现方式:1.数据库...

电脑如何炫酷下拉关机_小屁孩大帅-杨一凡的博客-程序员宅基地_下拉关机

第一步:在桌面鼠标右键新建一个“文本文件” 第二步:在文件中输入“SlideToShutDown”,然后点击文件进行保存。 第三步:修改文件后缀改“TXT”为“bat”。 第四步:双击文件进行运行即可炫酷下拉关机。 END 注意事项 第二步中“SlideToShutDown”必须区分大小写。 ...

HBase RowKey与索引设计_weixin_30763397的博客-程序员宅基地

1.HBase的存储形式hbase的内部使用KeyValue的形式存储,其key时rowKey:family:column:logTime,value是其存储的内容。其在region内大多以升序的形式排列,唯一的时logTime是以降序的形式进行排列。所以,rowKey里越靠近左边的信息越容易被检索到。其设计时,要考虑把重要的信息放左边,不重要的信息放到右边。这样可以提高查询数据的速...

linux下java程序与C语言程序通过SOCKET通信的简单例子_guan506713512的博客-程序员宅基地

本例中C语言端作为服务器,java端作为客户端代码如下:/****************** server program *****************/#include #include #include #include #incl

KMP 字符串匹配算法_Java_SuSheng的博客-程序员宅基地

字符串匹配算法,Knuth-Morris-Pratt算法(简称KMP),需要达成的目标是,找出某字符串a“ABCDABD” 在字符串b“BBC ABCDAB ABCDABCDABDE JDKAB”中是否存在,读了一些文章,暂时觉得,阮一峰的文章解释的还比较通俗易懂,以下,是我基于文章做出的代码及逻辑分析/** * KMP 算法 * http://www.ruanyif...

推荐文章

热门文章

相关标签