锁定老帖子 主题:关于Lucene海量数据索引的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-13
在海量数据环境下(文档量大于2147483647),有哪些更好的解决方案? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-05-14
可以尝试类似于数据库分表结构的解决方案
比如说以文档文件名的第一个字母进行分类放在不同的文件路径中。 或者是以文档文件名的长度进行分类放在不同的文件路径中。 这样很容易就扩大到Integer.Max_Value*10倍以上的容量,如果不满意还可以再细分。 如果你的文档有分类,这样的解决方案可以更有效的进行搜索。 |
|
返回顶楼 | |
发表时间:2007-05-14
wl95421 写道 可以尝试类似于数据库分表结构的解决方案
比如说以文档文件名的第一个字母进行分类放在不同的文件路径中。 或者是以文档文件名的长度进行分类放在不同的文件路径中。 这样很容易就扩大到Integer.Max_Value*10倍以上的容量,如果不满意还可以再细分。 如果你的文档有分类,这样的解决方案可以更有效的进行搜索。 假定所有的文档都属于同一个类目体系,需要全部作为检索查询的对象, 对文档进行分类就有一定难度,lucene 本身并不支持同时在多个索引目录中进行检索, 而且假设可以对超过Integer.Max_Value的数据量做检索,符合结果的检索条数超过Integer.Max_Value,那么lucene仍然会遇到困难,其返回结果集的数量限制在int下。。。 |
|
返回顶楼 | |
发表时间:2007-05-14
将记录分组,只搜索某一个热门组,其余的就估算一个大致的结果。后台有些算法来保证热门记录移向热门组。
|
|
返回顶楼 | |
发表时间:2007-05-14
blowfisher 写道 对文档进行分类就有一定难度,lucene 本身并不支持同时在多个索引目录中进行检索, MultiSearcher不能在多个索引目录里检索吗? |
|
返回顶楼 | |
发表时间:2007-05-14
1、无论如何是一定要分目录的
2、MultiSearcher是可以检索多个目录,自行计算一下结果即可 3、超出Max_Value是没有意义的,因为想来用户不会全部浏览,所以应该加上boost来限制结果 4、我想像不出来为什么文档不能分类,即使无法逻辑分类,物理分类总是可以的? 5、可以考虑一下CRM,象JackRabbit,参考一下JLibrary |
|
返回顶楼 | |
发表时间:2007-05-14
to wl95421:
恩,分类是可行的 目前看来理想方案还是: 多索引目录 + MultiReader + Search 但是, 如果多个目录的文档总数超过max_integer, MultiReader.numDocs() 似乎仍然存在问题? |
|
返回顶楼 | |
发表时间:2007-05-14
重复提交内容,已删除
|
|
返回顶楼 | |
发表时间:2007-05-14
1、你不一定要用它的MultiSearcher
可以自己写,这样不用担心numDocs的问题 2、再说一次,海量搜索的时候,不用boost是肯定死的,光搜索时间都会死人 |
|
返回顶楼 | |
发表时间:2007-05-14
wl95421 写道 1、你不一定要用它的MultiSearcher
可以自己写,这样不用担心numDocs的问题 2、再说一次,海量搜索的时候,不用boost是肯定死的,光搜索时间都会死人 呵呵,谢了! lucene接触时间不久,这几天深入研究一下。 |
|
返回顶楼 | |