我了解倒排索引的概念以及字典存储优化如何帮助将整个字典加载到主内存中以加快查询速度。
我想了解 Lucene 索引的工作原理。
假设我有一个 String 类型的字段,对于在 Lucene 中索引的 2000 亿份文档,它只有四个不同的值。该字段是存储字段。
如果我将字段更改为 Byte 或 Int 类型以表示所有 4 个不同的值并重新索引并存储所有 2000 亿个文档。
这种数据类型更改的存储和查询优化是什么?如果有的话。
请建议我是否可以在笔记本电脑上进行一些测试以了解情况。
最佳答案
据我所知,Lucene 中的文档由一个简单的字段值对列表组成。一个字段必须至少有一个值,但任何字段都可以包含多个值。类似地,单个字符串值可能会通过分析过程转换为多个值。
Lucene doesn’t care if the values are strings or numbers or dates. All values are just treated as opaque bytes.
更多信息,请参阅this document .
关于algorithm - 通过将字段存储为字节而不是数十亿文档的字符串,将在 Lucene 索引中优化多少空间和处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49764842/