lucene是否能满足你的需要?

imjl 2008-08-22
学搜索的大都是从lucene开始的,那么lucene是否能满足你需求?还有什么不足么?你有什么想法?


fys124974704 2008-08-23
這個問題問得好啊!我現在覺得lucene真的很不錯,除了不能做到實時更新,其實我要求也不高,只是在站內做到實時而已!呵呵!高人,有什么辦法嗎?
fys124974704 2008-08-23
其實我也曾經想過將索引放到內存里面實時去寫,但是還是不行,速度還是跟不上!而且非常容易內存溢出!
chester60 2008-08-23
目前来看,如果把索引文件中的倒排表和IDF表分开存放,并提供一些操作这两个表的API,就能同时做两个方面的拓展:

1.分布式查询/分布式索引:这个原理可以看我的另外一片文章。现在我那个方案下,存在误差的原因,打个比方来说,就是在不同的裁判(不同的机器),拿着不一样的评分手册(IDF表),对运动员(文档)进行打分。那么这样的比分的可比性肯定不强。如果所有的裁判都以相同的评分手册进行打分,那么无论是哪个裁判评出的分数,都可以进行综合比较。

2.实时索引:建立索引,一个是建立倒排表,另外一个是建立IDF表。倒排表的建立很简单,消耗的时间很少。而IDF表需要大量的计算,所以需要较长的时间来建立。假如有1000万条数据,那么多加1条数据进去,对IDF表的影响很小很小,那么我们就没必要再重建一次IDF表,直接修改一下倒排表就OK了,这样需要的时间就非常少,能够达到实时索引的目的。
linleran 2008-08-28
fys124974704 写道
這個問題問得好啊!我現在覺得lucene真的很不錯,除了不能做到實時更新,其實我要求也不高,只是在站內做到實時而已!呵呵!高人,有什么辦法嗎?

您所说的实时怎么理解,您的搜索是紧耦合在业务系统中,还是将搜索独立出来?
fys124974704 2008-08-29
独立出来的,不过需要实时搜索到添加修改的数据,因为数据量太大,暂时没有解决办法,只能使用sql,曾经也试过放到业务中,并且利用内存去操作,但是在测试的时候就出现内存溢出,所以没有上!请问你有什么好办法么?
hjwl 2008-09-01
我需要group by 功能,现在只有循环结果集实现,很郁闷
linleran 2008-09-05
fys124974704 写道
独立出来的,不过需要实时搜索到添加修改的数据,因为数据量太大,暂时没有解决办法,只能使用sql,曾经也试过放到业务中,并且利用内存去操作,但是在测试的时候就出现内存溢出,所以没有上!请问你有什么好办法么?

独立出来做搜索中心,实时很难实现,如果整合在业务系统里,考虑到写索引的锁问题,这个我觉得liferay把lucene整合的很好,研究研究里面做索引的代码也许会有帮助。放内存不太好,很容易溢出的。
Global site tag (gtag.js) - Google Analytics