[ https://issues.apache.org/jira/browse/SOLR-7618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14567930#comment-14567930 ]
Xu Zhang commented on SOLR-7618: -------------------------------- It would be really nice if you upload a patch here. http://wiki.apache.org/solr/HowToContribute > MultiFunction.anyExists - creating FunctionValues[] objects for every document > ------------------------------------------------------------------------------ > > Key: SOLR-7618 > URL: https://issues.apache.org/jira/browse/SOLR-7618 > Project: Solr > Issue Type: Bug > Components: SearchComponents - other > Affects Versions: 5.1 > Reporter: Jacob Graves > Priority: Minor > Labels: easyfix, newbie, patch, performance > Fix For: 5.1 > > Original Estimate: 2h > Remaining Estimate: 2h > > In the class org.apache.lucene.queries.function.valuesource.MultiFunction > there is the following method signature (line 52) > public static boolean allExists(int doc, FunctionValues... values) > this method is called from the class > org.apache.lucene.queries.function.valuesource.DualFloatFunction (line 68) > public boolean exists(int doc) { > return MultiFunction.allExists(doc, aVals, bVals); > } > Because MultiFunction.allExists uses Java varargs syntax ("...") a new > FunctionValues[] object will be created every time this call takes place. > The problem is that the call takes place in a document level function, which > means that it will create new objects in the heap for every document in the > query results. > for example if you use the following boost function (where ds and dc1 are > both TrieDateField) > bf=min(ms(ds,dc1),604800000) > You will get extra objects created for each document in the result set, which > has a big impact on performance and memory usage if you are searching a large > result set. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org