[
https://issues.apache.org/jira/browse/LUCENE-8558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16678678#comment-16678678
]
ASF subversion and git services commented on LUCENE-8558:
---------------------------------------------------------
Commit ff1df8a15c6eaed81ad7c033014a173175383e5d in lucene-solr's branch
refs/heads/master from [~simonw]
[ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=ff1df8a ]
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]