摘要:系列汇总:lucene3.0_基础使用及注意事项汇总在绝大多数项目中需要分页取出目标结果。lucene当中提供了现成的方法,使用很方便。主要用到的方法(API):TopDocstopDocs(intstart, inthowMany)Returns the documents in the rage [start ..Returns the documents in the rage [start .. start+howMany) that were collected by this collector. Note that if start >= pq.size(), an emp
阅读全文
10 2010 档案
摘要:系列汇总:lucene3.0_基础使用及注意事项汇总Query有很多子类,完成不同类型的查询任务:Instantiable subclasses are:TermQueryMultiTermQueryBooleanQueryWildcardQueryPhraseQueryPrefixQueryMultiPhraseQueryFuzzyQueryTermRangeQueryNumericRangeQuerySpanQuery不过使用我们系统的用户可并不乐意去了解这些看上去复杂的东西。那么我们希望有一个工具——他能够理解用户的搜索意图,然后转换成lucene中合理的Query子类,提供给lucen
阅读全文
摘要:系列汇总:lucene3.0_基础使用及注意事项汇总有的项目需要将不同的数据放到不同的索引当中,有时为了避免单个索引文件过大而对其进行分割(形成多个独立的索引)......又由于各种需求需要在多个索引中进行检索,因此就有了lucene中的multiSearcher。Constructor SummaryMultiSearcher(Searchable...searchables)Creates a searcher which searchessearchers.从api当中还可知MultiSearcher有一个子类:ParalleMultiSearcherConstructor Summar
阅读全文
摘要:系列汇总:lucene3.0_基础使用及注意事项汇总lucene中的过滤行为将带有过滤行为的检索分成三个过程:过程1:根据用户指定的检索式获得初步目标结果;过程2:根据指定的条件(可以是检索式)获得过滤器,简单理解过滤器——即哪些文档必须从初步目标结果中kill掉。过程3:将初步目标结果“通过”过滤器的“校验”,获得最终的目标结果。上面三个步骤是一种最基础的过滤行为,用实例简单演示一下:正常检索结果(不适用过滤器,将所有文档打印出来):Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeH
阅读全文
摘要:系列汇总:lucene3.0_基础使用及注意事项汇总IndexSearcher排序本文主要讲解:1.IndexSearcher中和排序相关的方法及sort类、SortField类(api级别);2.按文档得分进行排序;3.按文档内部id进行排序;4.数值型、日期型排序注意事项;5.多Field排序;6.通过改变boost值来改变文档的得分。----------------------------------------------------------------------1.IndexSearcher中和排序相关的方法及sort类、SortField类(api级别);用IndexSear
阅读全文
摘要:很多人在使用lucene时会使用其提供的queryparser分析query。不过,lucene的queryparser从一开始到现在都没有充分考虑中文等语言的特点,使得查询中文会出现让人不可理解的查不到结果的情况。这个bug就是LUCENE-2458。这个问题简单说来就是,对于一个连续的中文query,queryparser将Analyzer返回的Term序列构成了PhraseQuery(也有可能是MultiPhraseQuery),而PhraseQuery默认的匹配规则是要求Term序列在索引的文档中完全顺序匹配。这对于英文查询来说是可以接受的,因为queryparser在分析query时
阅读全文
摘要:系列汇总:lucene3.0_基础使用及注意事项汇总IndexWriter中的commit、rollback和close基础介绍(api级别)Commit:Commits all pending changes (added & deleted documents, optimizations, segment merges, added indexes, etc.) to the index, and syncs all referenced index files, such that a reader will see the changes and the index upda
阅读全文
摘要:较之lucene2.4版本,lucene3.0在indexSearcher这块变动比较大,从api可以直观的了解到。基类Searcher与搜索有关的方法:voidsearch(Queryquery,Collectorresults)Lower-level search API.voidsearch(Queryquery,Filterfilter,Collectorresults)Lower-level search API.TopDocssearch(Queryquery,Filterfilter, intn)Finds the topnhits forquery, applyingfilte
阅读全文
摘要:系列汇总:lucene3.0_基础使用及注意事项汇总part1:本文介绍和IndexWriter有关的3个参数:1.MAXBufferedDocsMaxBufferedDocs这个参数默认是disabled的,因为Lucene中还用另外一个参数(RAMBufferSizeMB)控制这个bufffer的索引文档个数。其实MaxBufferedDocs和RAMBufferSizeMB这两个参数是可以一起使用的,一起使用时只要有一个触发条件满足就写入硬盘,生成一个新的索引segment文件。2.RAMBufferSize控制用于buffer索引文档的内存上限,如果buffer的索引文档个数到达该上限
阅读全文
摘要:结合常见的场景,对lucene3.0中的常见api进行讲解,并结合实际应用对一些问题进行分析。
阅读全文
摘要:系列汇总:lucene3.0_基础使用及注意事项汇总-------------------------------------------------在指定磁盘下建立索引,并对该过程中存在的问题进行说明:源代码如下所示:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->publicvoid createIndex(){ IndexWriter writer =null ; FSDirectory dir =null ; ...
阅读全文
摘要:Lucene是个高度优化的倒转索引搜索引擎。它将倒转的索引存储在定制的文件格式中,文件格式被高度优化以确保能被搜索器快速的加载以及有效的搜索。Lucene产生这些结构以致索引几乎完全的被预先计算好Lucene 通过使用Directory接口的实现来存储索引,注意不要将Directory与java.io混淆了.FSDirectory 是Directory接口的一个标准的实现,它将索引保存在文件系统中.还有一些其他的实现,比如有的实现将索引切分小的数据块保存在文件系统中,有的通过使用Map Reduce(见google)的集群来分布索引.还有一种数据库的实现,它将索引作为数据块保存在数据库中(Lu
阅读全文
摘要:lucene问题汇总:Lucene常见问题汇总IndexSearcher的构造方法如下:Constructor SummaryIndexSearcher(Directorypath)Creates a searcher searching the index in the named directory, with readOnly=trueIndexSearcher(Directorypath, booleanreadOnly)Creates a searcher searching the index in the named directory.IndexS...
阅读全文
摘要:转载请注明出处:author:huangfoxhttp://www.cnblogs.com/huangfox/archive/2010/10/14/1851190.html 请输入标Lucene删除文档,使用IndexReader还是IndexWriter?当磁盘索引被IndexSearcher打开时,为什么优化操作后索引容量翻倍?检索结果怎么排序?对于不同类型(例如int型)的字段排序有什么区别吗?IndexSearcher初始化,IndexSearcher(Directory dir)和IndexSearcher(IndexReader reader)有什么区别?到底使用那个更合理?如何避
阅读全文
摘要:lucene问题汇总:Lucene常见问题汇总从api中我们可以了解到:The fields usedto determine sort order must be carefully chosen. Documents must contain asingle term in such a field, and the value of the term should indicate thedocument's relative position in a given sort order. The field must be indexed,but should not be t
阅读全文
摘要:lucene问题汇总:Lucene常见问题汇总当IndexSearcher打开一份磁盘索引后,IndexSearcher实例持有的是打开索引时的一份镜像索引,而执行优化动作后,将会把优化后的索引存储到原磁盘路径下,导致索引容量翻倍。那么怎么解决这个问题呢?IndexSearcher实例执行re-open动作,然后再执行优化操作,此时的优化操作很快,相当于是删除之前IndexSearcher持有的镜像索引。特别是在实时索引过程中,对大索引的优化一般比较耗时,因此合理的解决方案是:单独开一条线程执行优化操作,当优化完成后对IndexSearcher实例进行re-open操作,然后再执行一次优化操作
阅读全文
摘要:lucene问题汇总:Lucene常见问题汇总从lucene API 可知,IndexReader和IndexWriter都具有删除指定文档的功能。IndexReader:voiddeleteDocument(intdocNum)Deletes the document numbered docNum.intdeleteDocuments(Termterm)Deletes all documents that have a given term indexed.IndexWriter:voiddeleteDocuments(Query...queries)Deletes the documen
阅读全文