【求助】怎么设置hits数量的上限?或者怎么在返回结果时使JVM不崩溃。

gerbility 2008-05-13
因为我们搜索的数据量很大(大概在1个T左右),我担心返回result时会超出JVM内存上限。
javaeyes 2008-05-13
lucene查询将遍历所有的匹配文档,但是其一次默认只会取出100个文档及其得分.在不按其它字段排序的情况下,你不用关心结果集会大到超出JVM.倒是该关心下自己实现一个不让Lucene去遍历所有的文档而返回结果集,这个可以在数据量很大的时候大幅提高查询速度
gerbility 2008-05-14
谢谢ls的。
gerbility 2008-05-14
谢谢ls的。对于您提出的问题,我的想法是通过时间范围建立很多个索引,然后检索时按时间对多个索引进行搜索。您看行吗?
javaeyes 2008-05-15
解决办法是让文档按一定的顺序排序写在索引中,比如某种得分,不要使用Lucene默认的按文档Id。然后在查询时设置遍历的最大结果数,超过这个数之后直接返回。
不过这样的改动实在太大,可以自己重新实现一个了
edwardpro 2008-05-16
hits是流的你取的时候可以控制的,那个没有消耗的,一开始我还要对hits做cache发现它不是序列化的,后来仔细看了才发现hits是流的所以他里边没有数据,并不大
Global site tag (gtag.js) - Google Analytics