具有复杂自定义函数性能问题的Frange的Solr查询

时间:2012-04-05 13:49:33

标签: java solr solrj

我们正在进行solr查询,我们提供自定义函数(这非常复杂)并按该函数的值对结果进行排序。查询所花费的时间在200到400毫秒的范围内。在此之后我们添加了

fq:{!frange l=40 u=100}$complexCustomFunction

因此整个复杂查询看起来像

solr/select?customFunc=complexFunction(querySpecificValue1,querySpecificValue2)&sort_by=$customFunc&fq={!frange l=40 u=100}$customFunc...

在添加这个frange fq之后,查询所花费的时间增加了十倍,所以需要大约4秒

1 个答案:

答案 0 :(得分:2)

我们刚刚将frange从fq移动到q,这将查询所用的时间改为200到400毫秒。 生成的查询现在看起来像这样:

customFunc=complexFunction(querySpecificValue1,querySpecificValue2)&sort_by=$customFunc&q={!frange l=40 u=100}$customFunc...