我正在研究搜索系统的原型。
我在oracle中有一些表有一些字段。我生成的数据看起来很真实。大约300.000行。 例如:
PaymentNo|Datetime |AmountEuro|PayersName |PayersPhoneNo|ReceiversLegal|ReceiversAcc 2314 |2015-07-21T15:14|15.63 |Clinton, Barack Anjela|1.918.0060657|Nasa |5555569778664190000 230338 |2015-08-01T15:14|34.87 |Merkel, George Donald |1.653.0060658|PepsiCo |7777828443194736000
(实际上有更多列)
oracle中的表大小62 MB(Toad报告)
我将表导入Solr 5.2.1(在Windows中)。 带数据的索引大小为88 MB(在磁盘上)。 没有数据的索引大小为67 MB。
我的问题是:我可以减小索引的大小吗?
这些选项已经过测试: 减少索引表列的数量。在Solr中关闭数据存储。从索引中排除部分行。
我需要额外的机会来减少索引的大小。 你知道任何?
答案 0 :(得分:3)
您可以使用提供的所有见解here。我想分享一些额外的观点。
Solr会复制数据,以便对索引数据进行快速搜索。 solr的一个重要内容是,它使用不可变数据结构来存储所有数据。
如果您没有使用solr的solr高亮显示功能,则可以禁用文档级别术语向量存储。
此外,Solr对不同类型的数据使用许多不同的压缩技术。它使用位打包/ vint压缩来发布列表和数值。 LZ4压缩用于存储的字段和术语向量。它使用FST数据结构存储术语词典。 FST是Trie数据结构的一种特殊实现。