Hi, Everyone: I just start studying lucene's source code.
I'm confused about those per-field formats, in this package of " *org.apache.lucene.codecs.perfield*" There are many formats in lucene's codec. But there are only 3 per-field formats: "DocValues", "KnnVectors" and "Postings". So, what is the purpose of those three per-field formats? Why "DocValues", "KnnVectors" and "Postings" are so special that they need those per-field formats? For example, I've studied the "KnnVectors" a little. The "PerFieldKnnVectorsFormat.FieldsWriter" acutally uses the "Lucene94HnswVectorsFormat". But why do we have this kind of structures? Thanks & Regards MyCoy