[ https://issues.apache.org/jira/browse/LUCENE-5015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13666007#comment-13666007 ]
Shai Erera commented on LUCENE-5015: ------------------------------------ Gilad this looks good! I have few comments: * AmortizedSampleFixer's jdocs need a <p> tag instead of the empty line. Otherwise I think this does not render as expected. ** Same in TakmiSamplerFixer * SampleFixer has a TODO next to the new param * AmortizedSamplerFixerTest and SamplerTest should extend FacetTestCase so that it doesn't use Lucene3x codec accidentally (which doesn't support DocValues and hence facets) In general, what do you think if SamplingParams take a SampleFixer instead of {{fixToExact}}? * We could default to Amortized, while the current sampling tests will set Takmi * It will allow someone who doesn't care about the value at all to not fix it. I.e., if I just want to show 5% in the UI, I don't really need Amortized right? * It will allow to experiment with other SampleFixers implementations, e.g. maybe Takmi can be made more efficient or something. Currently SampleFixer is public though there's really no point to override it since you cannot pass it anywhere? Therefore I think that taking a fixer is better. > Unexpected performance difference between SamplingAccumulator and > StandardFacetAccumulator > ------------------------------------------------------------------------------------------ > > Key: LUCENE-5015 > URL: https://issues.apache.org/jira/browse/LUCENE-5015 > Project: Lucene - Core > Issue Type: Bug > Components: modules/facet > Affects Versions: 4.3 > Reporter: Rob Audenaerde > Priority: Minor > Attachments: LUCENE-5015.patch, LUCENE-5015.patch > > > I have an unexpected performance difference between the SamplingAccumulator > and the StandardFacetAccumulator. > The case is an index with about 5M documents and each document containing > about 10 fields. I created a facet on each of those fields. When searching to > retrieve facet-counts (using 1 CountFacetRequest), the SamplingAccumulator is > about twice as fast as the StandardFacetAccumulator. This is expected and a > nice speed-up. > However, when I use more CountFacetRequests to retrieve facet-counts for more > than one field, the speeds of the SampingAccumulator decreases, to the point > where the StandardFacetAccumulator is faster. > {noformat} > FacetRequests Sampling Standard > 1 391 ms 1100 ms > 2 531 ms 1095 ms > 3 948 ms 1108 ms > 4 1400 ms 1110 ms > 5 1901 ms 1102 ms > {noformat} > Is this behaviour normal? I did not expect it, as the SamplingAccumulator > needs to do less work? > Some code to show what I do: > {code} > searcher.search( facetsQuery, facetsCollector ); > final List<FacetResult> collectedFacets = > facetsCollector.getFacetResults(); > {code} > {code} > final FacetSearchParams facetSearchParams = new FacetSearchParams( > facetRequests ); > FacetsCollector facetsCollector; > if ( isSampled ) > { > facetsCollector = > FacetsCollector.create( new SamplingAccumulator( new > RandomSampler(), facetSearchParams, searcher.getIndexReader(), taxo ) ); > } > else > { > facetsCollector = FacetsCollector.create( FacetsAccumulator.create( > facetSearchParams, searcher.getIndexReader(), taxo ) ); > {code} > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org