shaie commented on PR #841: URL: https://github.com/apache/lucene/pull/841#issuecomment-1142451787
I pushed a new package with the `FacetSet` API I had in mind. As I wrote before, while thinking about it I realized that there are few issues to handle, so I've decided to implement one of the examples in the document: the Automotive Parts Store, just to get a feel how it would work. Few points: 1. The `MatchingFacetSetsCounts` takes a `FacetSetMatcher` and already support multi-valued fields. For now I've implemented an `ExactFacetSetMathcer` which requires all dim values to match a given set. * We can implement additional ones, such as `RangeFacetSetMatcher` which evaluates each value against a range. * We cal implement the Movie Awards matcher which looks at some of the dimension values to determine a match. 2. The `MatchingFacetSetsCounts` is not a "one-Counts-to-rule-them-all" class. It's just one use case which counts how many documents each `matcher` matched as well as how many documents matched overall. * We can, and should!, also implement a `TopMatchingFacetSetCounts` which fixes some dimensions of a set and computes the counts for the "free" dimensions. E.g. "Top 3 years for actors performing in Thriller movies": the matcher will evaluate as a match the first dimensions (the "Genre") and compute a `counts[]` for the "Year" dimension, then its `getTopChildren` will return the 3 years with the most "Thriller" actors. Eventually I see more "XYZFacetCounts" implementation, and not necessarily many more `FacetSetMatcher` impls. NOTE: all names in the commit are just proposals, feel free to propose better ones. -- 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