jpountz commented on issue #11702: URL: https://github.com/apache/lucene/issues/11702#issuecomment-1240622777
The historical objection against multi-value binary support is that it could be easily implemented on top of binary doc values. So multi-value binary support would add API surface and push more complexity on codecs and `IndexingChain` while mostly providing syntactic sugar for users. We've been following this approach of encoding multi-valued fields in a single `BinaryDocValuesField` in Elasticsearch for some less common field types like range and geo-shape fields, and it's not always easy in practice: you need to collect all values before being able to encode all values into a `BinaryDocValuesField` that can be added to a `Document`, which is a bit more involved than adding new `Field` instances to a `Document` as we see them. I wonder if there are intermediate options worth exploring, like adding tooling to make it easier to encode multiple values into a single `BinaryDocValuesField` on the write side, and creating wrappers around `BinaryDocValues` instances on the read side that expose multiple values. Similarly to how `FeatureField` didn't add more surface to codec APIs and encodes floats as term frequencies of postings. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
