[ https://issues.apache.org/jira/browse/SOLR-12878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669596#comment-16669596 ]
Tim Underwood commented on SOLR-12878: -------------------------------------- It looks like maybe FacetFieldProcessorByHashDV is created once per field that is being faceted on? In my case for the query I've been testing I'm faceting on 41 different fields. So fcontext.searcher.getSlowAtomicReader().getFieldInfos() was being called 41 times for each query. > FacetFieldProcessorByHashDV is reconstructing FieldInfos on every > instantiation > ------------------------------------------------------------------------------- > > Key: SOLR-12878 > URL: https://issues.apache.org/jira/browse/SOLR-12878 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module > Affects Versions: 7.5 > Reporter: Tim Underwood > Assignee: Mikhail Khludnev > Priority: Major > Labels: performance > Fix For: 7.6, master (8.0) > > Time Spent: 10m > Remaining Estimate: 0h > > The FacetFieldProcessorByHashDV constructor is currently calling: > {noformat} > FieldInfo fieldInfo = > fcontext.searcher.getSlowAtomicReader().getFieldInfos().fieldInfo(sf.getName()); > {noformat} > Which is reconstructing FieldInfos each time. Simply switching it to: > {noformat} > FieldInfo fieldInfo = > fcontext.searcher.getFieldInfos().fieldInfo(sf.getName()); > {noformat} > > causes it to use the cached version of FieldInfos in the SolrIndexSearcher. > On my index the FacetFieldProcessorByHashDV is 2-3 times slower than the > legacy facets without this fix. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org