SortedSetDocValuesField与SortedDocValuesField相似但它是一键多值的(注意:lucene的数据模型是支持一键多值的即key-values模型),lucene在实现时会判断是一键一值仍是多值,若是单值就调用SortedDocValuesField的存储方式(前面已经说过),不然按照多值状况进行存储。存储方式为:索引
一、写入每一个值对应的字典序号;基础
二、写入过个key对应的值的个数;lucene
三、与SortedDocValuesField同样写入每一个字典值;总结
四、与SortedDocValuesField同样写入字典索引;数据
总结:就像SortedNumericDocValuesField同样对于这种一键多值的状况,lucene在处理的时候是在一键一值存储的基础上而后按照实际状况额外记录相应的信息实现的,因此有能够复用一键一值的代码。字典