-
lucene等搜索引擎解析
lucene等搜索引擎解析
最近更新文章
1、导航
hititerator hi=(hititerator)(hs.iterator());
while(hi.hasnext());
{
hit ht=(hit)(hi.next());
.............
.............
.............
}
2、缓存
除了queryfilter外的filter没有缓存,所以cachingwrapperfi ...
有2064人浏览
2010-01-09 19:43
1、使用queryparser完成解析搜索请求
2、基本格式如:
queryparser parser=new queryparser("字段名称","分析器实例");
query q=parser.parse("关键词")
3、例如:解析一个关键字太阳
queryparser parser=new queryparser(&qu ...
有12302人浏览
2010-01-09 17:07
索引过程中的核心类
1、执行简单的索引需要以下几个类:
1)indexwriter
是索引过程的核心组件,这个类用于创建一个新的索引并把文档加到已有的索� ...
有1802人浏览
2009-12-26 13:22
1、删除
1)使用indexreader类实现,这个类并没有立即从索引中删除文档,而只是在这些文档上加一个删除标记,直到indexreader调用close()后才真正将它们删除。
2)
maxdoc()返回下一个可得到的文档的内部编号。
numdocs()返回索引中的文档数量。
文档编号从0开始
3)
public class documentdeletetest extendsba ...
有3844人浏览
2009-12-25 22:26
一、索引日期
1、field.keyword(string,date)方法和datefield类进行索引
索引今天的日期可以这么做:
document doc=new document();
doc.add(field.keyword("indexdate",new date()));
lucene内部使用了datefield类将日期转成字符串。
2、可以先转换为yy ...
有2538人浏览
2009-12-25 22:26
假设有一个应用程序可以产生一个给定词语的一系列同义词,而你想使用lucene来索引这个基本词和它所有的同义词。
stringbaseword="fast";
stringsynonys[]=string{"quick","rapid","speedy"};
documentdoc=new documnet();
...
有1495人浏览
2009-12-25 22:25
1、当新的document对象增加到lucene索引里时,它们最初将被缓存在内存中,而不是立刻写入磁盘中
2、indexwriter提供了几个变量,用于调节缓存的大小和� ...
有1803人浏览
2009-12-25 22:24
1、索引一个文件调用lucene公用api的方法完成
2、
1)转换为文本:数据必须转换成lucene能够处理的格式-纯文本字符流
提取的数据创建lucene的document对象及其对应的field对象。
2)分析:完成了对索引数据的预处理,创建了带有若干域的document对象,可以调用indexwriter的adddocument(document)方法,将数据传给lucene进行 ...
有1519人浏览
2009-12-25 22:24
搜索engine-mg4j
mg4j 是另一个搜索engine 。与lucene 主要区别是,它提供了cluster 功能,具有更oo的设计方式。 mg4j可以让你为大量的文档集合构建一个被压缩的全文本索引,通过使内插编码(interpolativecoding)技术。 虽然mg4j(managing gigabytes forjava)不是一个像lucene、egothor和xapi ...
有2001人浏览
2009-12-25 22:23
1、有些应用程序会索引事先不知道大小的文档。为了控制应用程序对内存和虚拟内存的使用,限制输入索引的文档数量。有些则可能只需要索引每个文档中的一部分内容。
2、为了把域的大小限制在1000个项以内,某个应用程序也许会把maxfieldlength设置为1000。可以把它设置为integer.max_value。
3、maxfieldlength的值可在索引过程中的任意时刻被修改,并对其后增加的 ...
有4319人浏览
2009-12-25 22:22
1、优化索引其实就是将多个索引文件合并成单个文件的过程,为了减少索引文件的数量级,能在搜索时减少读取索引文件的时间而进行的操作。
2、可通过调用indexwriter的optimize()方法来优化一个索引。索引的优化过程涉及到很多磁盘的输入、输出操作,所以要恰当地进行索引的优化操作
3、优化索引过程中需要原来空间的2倍,完成后,磁盘空间会降回到优化前的状态。
4、优化操作的最佳时机是在索 ...
有1586人浏览
2009-12-25 22:21
1、任意数量的只读操作可以同时执行。
2、在索引正在被修改时,我们可以同时执行任意数量的只读操作。
3、在某一时刻,只允许执行一个修改索引的操作。
有1299人浏览
2009-12-25 22:18
1、lucene不允许使用多个indexwriter或indexreader实例同时对一个索引进行修改。但这2个类都是线程安全的
2、2个类的实例都可以被多线程共享,lucene会对各个线程中所有对索引进行修改的方法的调用进行恰当的同步处理,以保证修改操作能一个接一个有序进行。
3、恰当的处理是指保证这2个类的对象对索引的修改操作不能重叠,使用indexwriter对象将新文档增加到索引之前 ...
有1865人浏览
2009-12-25 22:16
类
用途
indexseacher
搜索操作的入口,所有搜索操作都是通过indexseacher实例使用一个重载的search方法来实现
query(及其子类)
具体的query子类为每一种特定类型的查询进行逻辑上的封装。query实例被传递到indexsearcher的search方法中
queryparser
...
有1866人浏览
2009-12-24 21:08
1.在lucene中,锁机制是与并发性相关的一个主题,在同一时刻只允许单一进程的所有代码段中,lucene都创建了基于文件的锁,以此来避免误用lucene的api造成对索引的损坏。每个索引都有自身的锁文件集。锁文件放在计算机的临时目录中,这个目录由java的java.io.tmpdir中的系统属性所指定。
2.
1)indexreader的islocked(directory)-这个方法可以 ...
有1975人浏览
2009-12-24 21:08
queryparser
queryparser把查询表达式转换为lucene内置的查询类型
查询表达式
匹配的文档
java
默认域包含java项的文档
java junit
java or junit
默认域中包含java和junit中的一个或两个文档。
java junit
java and junit
...
有1767人浏览
2009-12-24 21:07
« 上一页 1
- 专栏创建者:
- 创建时间:2012-02-12 11:45:46
- 专栏文章数:100篇
- 专栏被浏览:278837 次
本专栏热门文章
最新评论
写的很好~
di1984hit 评论了
di1984hit 评论了
你好!我运行你的这个程序出现了问题,麻烦帮下忙!我的qq:1422461141,谢谢了!
u013328887 评论了
u013328887 评论了
解压密码:http://deepfuture.javaeye.com/
deepfuture 评论了
deepfuture 评论了
解压密码在哪,怎么没找到。谢谢了
jiaqian0118 评论了
jiaqian0118 评论了
内存索引写入硬盘文件索引的结果放到硬盘中,这样重启电脑后,仍然可以调取
deepfuture 评论了
deepfuture 评论了
博主,您好,请问下内存索引的原理是什么呢,大致是什么意思呢?文件的操作不都是在内存的嘛?
w156445045 评论了
w156445045 评论了
能不能给一个比较完整的例子
zr19851213 评论了
zr19851213 评论了
为什么我的英文也不支持?
cf2huihui 评论了
cf2huihui 评论了
还行啊,做个记号
di1984hit 评论了
di1984hit 评论了
queryparser通过在某个项增加"~"后缀实现模糊查询 貌似这个有效果,但 ...
alfusen_xiong 评论了
alfusen_xiong 评论了