mirror of https://github.com/apache/lucene.git
LUCENE-6827: Use explicit capacity ArrayList instead of a LinkedList in MultiFieldQueryNodeProcessor
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1707040 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
deb81534bc
commit
393065d27b
|
@ -172,6 +172,9 @@ Bug Fixes
|
||||||
|
|
||||||
Other
|
Other
|
||||||
|
|
||||||
|
* LUCENE-6827: Use explicit capacity ArrayList instead of a LinkedList
|
||||||
|
in MultiFieldQueryNodeProcessor. (Dawid Weiss).
|
||||||
|
|
||||||
* LUCENE-6812: Upgrade RandomizedTesting to 2.1.17. (Dawid Weiss)
|
* LUCENE-6812: Upgrade RandomizedTesting to 2.1.17. (Dawid Weiss)
|
||||||
|
|
||||||
* LUCENE-6174: Improve "ant eclipse" to select right JRE for building.
|
* LUCENE-6174: Improve "ant eclipse" to select right JRE for building.
|
||||||
|
|
|
@ -17,6 +17,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -91,32 +92,25 @@ public class MultiFieldQueryNodeProcessor extends QueryNodeProcessorImpl {
|
||||||
|
|
||||||
if (fields.length == 1) {
|
if (fields.length == 1) {
|
||||||
return fieldNode;
|
return fieldNode;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
LinkedList<QueryNode> children = new LinkedList<>();
|
List<QueryNode> children = new ArrayList<>(fields.length);
|
||||||
children.add(fieldNode);
|
|
||||||
|
|
||||||
|
children.add(fieldNode);
|
||||||
for (int i = 1; i < fields.length; i++) {
|
for (int i = 1; i < fields.length; i++) {
|
||||||
try {
|
try {
|
||||||
fieldNode = (FieldableNode) fieldNode.cloneTree();
|
fieldNode = (FieldableNode) fieldNode.cloneTree();
|
||||||
fieldNode.setField(fields[i]);
|
fieldNode.setField(fields[i]);
|
||||||
|
|
||||||
children.add(fieldNode);
|
children.add(fieldNode);
|
||||||
|
|
||||||
} catch (CloneNotSupportedException e) {
|
} catch (CloneNotSupportedException e) {
|
||||||
// should never happen
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return new GroupQueryNode(new OrQueryNode(children));
|
return new GroupQueryNode(new OrQueryNode(children));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
|
@ -126,9 +120,6 @@ public class MultiFieldQueryNodeProcessor extends QueryNodeProcessorImpl {
|
||||||
@Override
|
@Override
|
||||||
protected List<QueryNode> setChildrenOrder(List<QueryNode> children)
|
protected List<QueryNode> setChildrenOrder(List<QueryNode> children)
|
||||||
throws QueryNodeException {
|
throws QueryNodeException {
|
||||||
|
|
||||||
return children;
|
return children;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue