谈谈lucene的DocValues特性之SortedSetDocValuesField

╄→гoц情女王★ 提交于 2019-12-17 21:39:32

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

SortedSetDocValuesField与SortedDocValuesField类似但它是一键多值的(注意:lucene的数据模型是支持一键多值的即key-values模型),lucene在实现时会判断是一键一值还是多值,如果单值就调用SortedDocValuesField的存储方式(前面已经说过),否则按照多值情况进行存储。存储方式为:

1、写入每个值对应的字典序号;

2、写入过个key对应的值的个数;

3、与SortedDocValuesField一样写入每个字典值;

4、与SortedDocValuesField一样写入字典索引;

总结:就像SortedNumericDocValuesField一样对于这种一键多值的情况,lucene在处理的时候是在一键一值存储的基础上然后按照实际情况额外记录相应的信息实现的,所以有可以复用一键一值的代码。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!