Lucene建多个Field是遇到的问题和决绝方法。

Lucene(312205950) 10:46:42
你好 请教一个问题 Lucene 如果建很多了field进去,即便每个field中的数据很小。最后索引文件也会很大。 测试结果:数据源文件个数776,总大小2.3M,field个数:44个。索引大小3G左右。
无术(19999351) 10:48:31
不太正常吧
Lucene(312205950) 10:49:01
我也觉得有些不正常

Lucene(312205950) 10:49:37
但在索引中我用luke看 的确没有多余的内容啊

Lucene(312205950) 10:49:49
请问大家有没有遇到过这样的问题

Lucene(312205950) 10:49:53
谢谢了

无术(19999351) 10:50:20
你怎么看索引文件大小的,是看整个目录,还是看优化后的那几个文件
Lucene(312205950) 10:51:20
整个目录

无术(19999351) 10:51:46
你看看你的索引文件是不是没有优化
Lucene(312205950) 10:52:45
优化了 我是在原来一个3G的索引的基础上建的增量

Lucene(312205950) 10:52:55
建好后就编程6G了

Lucene(312205950) 10:53:21
刚有重新建了全量 
比较小了 2M左右

无术(19999351) 10:53:42
你看下索引文件中的记录条数是多少、
Lucene(312205950) 10:53:54
不知道为什么

Lucene(312205950) 10:54:09
原来的索引有10万条

Lucene(312205950) 10:54:24
新增700条就会增加3G

Lucene(312205950) 10:54:29
很不理解
无术(19999351) 10:54:37
776个文件怎么会建立出10万条索引呢?
Lucene(312205950) 10:55:05
之前已经有个10万的索引库

Lucene(312205950) 10:55:21
现在建增量700条进去

无术(19999351) 10:55:30
10万条是3G,然后再加700条就变成6G了?
晚起的小虫<> 10:55:53
你是不是对记录进行修改,或是大量的删除操作了?
无术(19999351) 10:55:56
你看看你的索引目录中是否有两个3G左右文件
无术(19999351) 10:56:14
估计是没有对索引进行优化操作
Lucene(312205950) 10:57:09
目录中的确有啊

无术(19999351) 10:58:06
你是不是搜索和索引同时进行操作
无术(19999351) 10:58:15
那样会锁定一个副本
Lucene(312205950) 10:58:20

Lucene(312205950) 10:58:39
建索引是搜了一次

无术(19999351) 10:58:45
所以索引变成两倍大小很正常的
Lucene(312205950) 10:58:52
按怎么处理啊

Lucene(312205950) 10:59:01
重新优化就可以吗

无术(19999351) 10:59:16
可以的
无术(19999351) 11:01:34
索引被载入内存的时候,IndexReader有个引用次数,比如在10点钟的时候,索引被搜索,那这个时候的索引文件的版本在IndexReader里引用次数加1。当该版本的引用次数大于0的时候,优化操作不能删除这个版本的文件。但是你加入新索引,建立新版本的话,就会产生另外一个新的完整版本
Lucene(312205950) 11:06:01
真是十分感谢

Lucene(312205950) 11:06:39
哪如果随时都会有人去搜索的话 哪怎么办啊

Lucene(312205950) 11:07:29
刚测试过了 真的是变小了 便会原来的大小了

Lucene(312205950) 11:08:14
哪建增量是时候就不能搜索了 应用不能停啊

无术(19999351) 11:09:06
可以想套策略
晚起的小虫<> 11:09:52
谁说增量时不能搜索了?
Lucene(312205950) 11:10:16
可以搜但索引会增加一倍

Lucene(312205950) 11:10:23
刚才侧过了

Lucene(312205950) 11:10:28

古道西风(77107307) 11:11:00
优化的时候先把搜索的关掉 
大刀砍虫子(574778) 11:12:25
古道西风
Lucene(312205950) 11:12:38
什么意思 怎么停关掉索引
无术(19999351) 11:13:50
我是在增量索引的时候,在其它目录产生一个副本,当这个副本增量完成,就把搜索目录指定为副本目录,在一个小时后删除原先的索引目录
Lucene(312205950) 11:15:14
哦 谢谢 我参照下
古道西风(77107307) 11:18:04
关掉搜索,不是索引
古道西风(77107307) 11:18:23
要么就跟无术说的
Lucene(312205950) 11:21:13
好 谢谢 各位了


70%(15541307) 11:23:24
这个副本是不是避免增量失败时可以回滚呢?好象跟我上次发的有点类似:合并的时候产生二倍的磁盘空间。
Lucene(312205950) 11:24:13
应该可以同时作为备份用