gsmiller commented on PR #11901: URL: https://github.com/apache/lucene/pull/11901#issuecomment-1322333279
> Ah yeah good point on the FacetSets... so I actually already use LongRangeDocValueFields here: public class LongRangeDocValuesFacetField extends LongRangeDocValuesField. The difference is that the LongRangeDocValuesFacetField constructor enforces a single dimension. I'd imagine if we want to extend it, it shouldn't be that hard to just add another constructor here. Right. What I'm questioning here is the need for `LongRangeDocValuesFacetField`. If the only value it adds is a ctor that "speaks" in a single-dimension, I wonder if we should keep it or just ask our users to use `LongRangeDocValuesField` directly. If we think users would benefit from a simpler, single-dim API, let's consider adding that directly to `LongRangeDocValuesField`. > Right now what happens is that the query can have multiple ranges, which all need to "match" the stored range, which is pretty much the "cross product" idea I talked about earlier which we won't be doing. I don't think I'm following. Are you referring to the current "slow query" implementation? It doesn't support multiple ranges right? It supports multiple dimensions? And yes- each dimension needs to satisfy the requirements specified by the provided `QueryType`. I imaging faceting doing the same thing, but separately considering each range for facet counting. Maybe we're confusing the concept of "multiple dimensions" with "multiple ranges" in our discussion here? > or just go ahead and do the multidimensional implementation Yeah, I think that's fine. I don't think it will be significantly more complex to implement multi-dim support. I think the only complexity comes in thinking about the problem and conveying something usable to users (who, I suspect, will be looking for a single-dim implementation most of the time). > Edit: now that I think about it a bit more, I'm not actually doing a cross product, I think I was getting the concept of multidimensional ranges for multiple ranges mixed up in my mind. I'll need to look more into the API to see how we can make it extensible in case we want to make this multi-dimensional in the future. Ah ok. Maybe disregard my above comment about mixing up "multiple ranges" and "multiple dimensions." Sounds like maybe that's whats going on. Let me know if I can help disambiguate. Thanks! -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org