有关Lucene的问题
文章平均质量分 82
forfuture1978
这个作者很懒,什么都没留下…
展开
-
有关Lucene的问题(2):stemming和lemmatization
问题:我试验了一下文章中提到的 stemming 和 lemmatization 将单词缩减为词根形式,如“cars”到“car”等。这种操作称为:stemming。 将单词转变为词根形式,如“drove”到“drive”等。这种操作称为:lemmatization。 试验没有成功 代码如下:public class TestNorms {原创 2010-02-06 12:42:00 · 1163 阅读 · 0 评论 -
有关Lucene的问题(7):用Lucene构建实时的索引
由于前一章所述的Lucene的事务性,使得Lucene可以增量的添加一个段,我们知道,倒排索引是有一定的格式的,而这个格式一旦写入是非常难以改变的,那么如何能够增量建索引呢?Lucene使用段这个概念解决了这个问题,对于每个已经生成的段,其倒排索引结构不会再改变,而增量添加的文档添加到新的段中,段之间在一定的时刻进行合并,从而形成新的倒排索引结构。 然而也正因为Lucene的事务性,使得Luce...2010-06-08 02:02:22 · 135 阅读 · 0 评论 -
有关Lucene的问题(6):Lucene的事务性
所谓事务性,本多指数据库的属性,包括ACID四个基本要素:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 我们这里主要讨论隔离性,Lucene的IndexReader和IndexWriter具有隔离性。 当IndexReader.open打开一个索引的时候,相对于给当前索引进行了一次snapshot,此后的任...2010-06-07 01:36:51 · 169 阅读 · 0 评论 -
有关Lucene的问题(5):Lucene中的TooManyClause异常
为什么会产生这个异常: 使用Lucene检索过程中如果用到RangeQuery,PrefixQuery,WildcardQuery,FuzzyQuery这四种Query,可能会产生TooManyClauses异常。为什么会产生这个异常呢?举例说明: 以RangeQuery为例,如果日期范围为19990101到20091231,在索引文件中有19990102,19990103等等这些日期词组,那...原创 2010-05-16 00:26:27 · 189 阅读 · 0 评论 -
有关Lucene的问题(4):影响Lucene对文档打分的四种方式
在索引阶段设置Document Boost和Field Boost,存储在(.nrm)文件中。 如果希望某些文档和某些域比其他的域更重要,如果此文档和此域包含所要查询的词则应该得分较高,则可以在索引阶段设定文档的boost和域的boost值。 这些值是在索引阶段就写入索引文件的,存储在标准化因子(.nrm)文件中,一旦设定,除非删除此文档,否则无法改变。 如果不进行设定,则Document ...原创 2010-02-09 00:00:48 · 104 阅读 · 0 评论 -
有关Lucene的问题(3): 向量空间模型与Lucene的打分机制
问题: 在你的文章中提到了: 于是我们把所有此文档中词(term)的权重(term weight) 看作一个向量。 Document = {term1, term2, …… ,term N} Document Vector = {weight1, weight2, …… ,weight N} 同样我们把查询语句看作一个简单的文档,也用向量来表示。 Que...原创 2010-02-06 12:44:00 · 137 阅读 · 0 评论 -
有关Lucene的问题(2):stemming和lemmatization
问题: 我试验了一下文章中提到的 stemming 和 lemmatization 将单词缩减为词根形式,如“cars”到“car”等。这种操作称为:stemming。 将单词转变为词根形式,如“drove”到“drive”等。这种操作称为:lemmatization。 试验没有成功 代码如下: public class TestNorms { publ...原创 2010-02-06 12:40:31 · 221 阅读 · 0 评论 -
有关Lucene的问题(4):影响Lucene对文档打分的四种方式
在索引阶段设置Document Boost和Field Boost,存储在(.nrm)文件中。如果希望某些文档和某些域比其他的域更重要,如果此文档和此域包含所要查询的词则应该得分较高,则可以在索引阶段设定文档的boost和域的boost值。这些值是在索引阶段就写入索引文件的,存储在标准化因子(.nrm)文件中,一旦设定,除非删除此文档,否则无法改变。如果不进行设定,则Document原创 2010-02-08 23:46:00 · 2884 阅读 · 2 评论 -
有关Lucene的问题(8):用Lucene构建实时索引的文档更新问题
在有关Lucene的问题(7),讨论了使用Lucene内存索引和硬盘索引构建实时索引的问题。 然而有的读者提到,如果涉及到文档的删除及更新,那么如何构建实时的索引呢?本节来讨论这个问题。 1、Lucene删除文档的几种方式 IndexReader.deleteDocument(int docID)是用 IndexReader 按文档号删除。 IndexReader.delet...2010-06-27 14:21:31 · 164 阅读 · 0 评论