通过将字段存储为字节而不是字符串来存储数十亿个文档,将在Lucene索引中优化多少空间和处理

Wat*_*att 12 lucene algorithm nlp information-retrieval

我理解倒排索引的概念以及字典存储优化如何帮助在主存中加载整个字典以便更快地查询.

我试图了解Lucene索引是如何工作的.

假设我有一个String类型字段,对于Lucene中索引的2000亿个文档只有四个不同的值.该字段是存储字段.

如果我将字段更改为Byte或Int类型以表示所有4个不同的值,并重新索引并存储所有2000亿个文档.

此数据类型更改的存储和查询优化是什么?如果有的话.

请建议我是否可以在笔记本电脑上进行一些测试以获得理解.

Ali*_*ani 1

据我所知,Lucene 中的文档由一个简单的字段值对列表组成。一个字段必须至少有一个值,但任何字段都可以包含多个值。类似地,单个字符串值可以通过分析过程转换为多个值。

\n\n
\n

Lucene 不关心这些值是字符串、数字还是日期。所有\n 值都被视为不透明字节。

\n
\n\n

欲了解更多信息,请参阅此文档

\n