Affects Version/s: None
Fix Version/s: None
Component/s: Facet Module
I've worked with two users last week where explicitly using method:dvhash improved the faceting speeds drastically.
The common theme in both the use-cases were: One collection hosting data for multiple users. We always filter documents for one user ( therby limiting the number of documents drastically ) and then perfoming a complex nested JSON facet.
faceting on a string field with a high cardinality compared to it's domain is less efficient than it could be.
And DVHASH was the perfect optimization for these use-cases.
We are using the facet stream expression in one of the use-cases which doesn't expose the method param. We could expose the method param to facet stream but I feel the better approach to solve this problem would be to address this TODO in the code withing the JSON Facet Module
I thought about this a little and this was the approach I am thinking currently to tackle this problem
Any thoughts if this approach makes sense? it could be I'm thinking of this approach just because both the users I worked with last week fell in this cateogory.
cc David Smiley [~joel.bernstein]