[
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: [email protected]
For additional commands, e-mail: [email protected]