[ https://issues.apache.org/jira/browse/LUCENE-8558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16678679#comment-16678679 ]
ASF subversion and git services commented on LUCENE-8558: --------------------------------------------------------- Commit 684c05ca8c1971373a96b75e15c0dc547060c4fe in lucene-solr's branch refs/heads/branch_7x from [~simonw] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=684c05c ] LUCENE-8558: Replace O(n) lookup with O(1) lookup in PerFieldMergeState#FilterFieldInfos > Adding NumericDocValuesFields is slowing down the indexing process > significantly > -------------------------------------------------------------------------------- > > Key: LUCENE-8558 > URL: https://issues.apache.org/jira/browse/LUCENE-8558 > Project: Lucene - Core > Issue Type: Improvement > Components: core/index > Affects Versions: 7.4, 7.5 > Reporter: Kranthi > Priority: Major > Labels: patch, performance > Fix For: 7.4, 7.5 > > Attachments: LUCENE-8558.patch > > > The indexing time for my ~2M documents has gone up significantly when I > started adding fields of type NumericDocValuesField. > > Upon debugging found the bottleneck to be in the > PerFieldMergeState#FilterFieldInfos constructor. The contains check in the > below code snippet was the culprit. > {code:java} > this.filteredNames = new HashSet<>(filterFields); > this.filtered = new ArrayList<>(filterFields.size()); > for (FieldInfo fi : src) { > if (filterFields.contains(fi.name)) { > {code} > A simple change as below seems to have fixed my issue > {code:java} > this.filteredNames = new HashSet<>(filterFields); > this.filtered = new ArrayList<>(filterFields.size()); > for (FieldInfo fi : src) { > if (this.filteredNames.contains(fi.name)) { > {code} > -- 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